code: @Override
      public <X extends Archive<X>> Collection<X> getAsType(Class<X> type, Filter<ArchivePath> filter,
          final ArchiveFormat archiveFormat) {
          Validate.notNull(type, "Type must be specified");
          Validate.notNull(filter, "Filter must be specified");
          Validate.notNull(archiveFormat, "ArchiveFormat must be specified");
  
          Collection<X> archives = new ArrayList<X>();
  
          Map<ArchivePath, Node> matches = getContent(filter);
          for (ArchivePath path : matches.keySet()) {
              archives.add(getAsType(type, path, archiveFormat));
          }
          return archives;
      }
docs: {@inheritDoc}
  
  @see org.jboss.shrinkwrap.api.Archive#getAsType(java.lang.Class, org.jboss.shrinkwrap.api.Filter,
  org.jboss.shrinkwrap.api.ArchiveFormat)