code: @Override
      public T addPackages(boolean recursive, final Filter<ArchivePath> filter, String... packageNames)
          throws IllegalArgumentException {
          Validate.notNull(filter, "Filter must be specified");
          Validate.notNull(packageNames, "PackageNames must be specified");
  
          // Get the CLs for this archive
          final Iterable<ClassLoader> classLoaders = getArchiveClassLoaders();
  
          for (String packageName : packageNames) {
              for (final ClassLoader classLoader : classLoaders) {
                  addPackage(recursive, filter, classLoader, packageName);
              }
          }
          return covarientReturn();
      }
docs: /*
  (non-Javadoc)
  
  @see org.jboss.shrinkwrap.api.container.ClassContainer#addPackages(boolean, org.jboss.shrinkwrap.api.Filter,
  java.lang.String[])