@Override
    public T add(final Archive<?> archive, final ArchivePath path, Class<? extends StreamExporter> exporter) {
        // Precondition checks
        Validate.notNull(path, "No path was specified");
        Validate.notNull(archive, "No archive was specified");
        Validate.notNull(exporter, "No exporter was specified");

        // Make a Path
        final String archiveName = archive.getName();
        final ArchivePath contentPath = new BasicPath(path, archiveName);

        // Create ArchiveAsset
        final ArchiveAsset archiveAsset = new ArchiveAsset(archive, exporter);

        // Delegate
        return add(archiveAsset, contentPath);
    }
@ Override public T add ( final Archive < ? > archive , final ArchivePath path , Class < ? extends StreamExporter > exporter ) { Validate . notNull ( path , "No path was specified" ) ; Validate . notNull ( archive , "No archive was specified" ) ; Validate . notNull ( exporter , "No exporter was specified" ) ; final String archiveName = archive . getName ( ) ; final ArchivePath contentPath = new BasicPath ( path , archiveName ) ; final ArchiveAsset archiveAsset = new ArchiveAsset ( archive , exporter ) ; return add ( archiveAsset , contentPath ) ; }
{@inheritDoc}

@see org.jboss.shrinkwrap.api.Archive#add(org.jboss.shrinkwrap.api.Archive, org.jboss.shrinkwrap.api.ArchivePath,
java.lang.Class)