code: @Override
      public T addAsManifestResource(File resource, ArchivePath target) throws IllegalArgumentException {
          Validate.notNull(resource, "Resource should be specified");
          Validate.notNull(target, "Target should be specified");
  
          if (resource.isFile()) {
              return addAsManifestResource(new FileAsset(resource), target);
          }
  
          final File[] files = resource.listFiles();
  
          // SHRINKWRAP-275, resource URL coming in from a JAR
          if (files == null) {
              return this.addNestedJarFileResource(resource, target, this.getManifestPath());
          }
  
          if (files.length == 0) {
              return addAsManifestResource(new FileAsset(resource), target);
          }
  
          for (File file : resource.listFiles()) {
              ArchivePath child = ArchivePaths.create(file.getName());
              addAsManifestResource(file, new BasicPath(target, child));
          }
          return covarientReturn();
      }
docs: /*
  (non-Javadoc)
  
  @see org.jboss.shrinkwrap.api.container.ManifestContainer#addManifestResource(java.io.File,
  org.jboss.shrinkwrap.api.Path)