code: protected Iterable<JavaFileObject> wrap(Iterable<JavaFileObject> fileObjects) {
          List<JavaFileObject> mapped = new ArrayList<JavaFileObject>();
          for (JavaFileObject fileObject : fileObjects)
              mapped.add(wrap(fileObject));
          return Collections.unmodifiableList(mapped);
      }
docs: This implementation maps the given list of file objects by
  calling wrap on each.  Subclasses may override this behavior.
  
  @param fileObjects a list of file objects
  @return the mapping