@Override
public Iterable<JavaFileObject> getFiles( String folderName, ClassPath.Entry entry, Set<JavaFileObject.Kind> kinds, JavaFileFilterImplementation filter ) throws IOException {
Map<String, Folder> folders = doInit();
Folder files = folders.get( folderName );
if (files == null) {
return Collections.<JavaFileObject>emptyList();
}
else {
assert !keepOpened || zipFile != null;
List<JavaFileObject> l = new ArrayList<>(files.idx / files.delta);
final Predicate<String> predicate = kinds == null ? new Tautology() : new HasKind(kinds);
for (int i = 0; i < files.idx; i += files.delta){
final JavaFileObject fo = create(folderName, files, i, predicate);
if (fo != null) {
l.add(fo);
}
}
return l;
}
}