@Override
public javax.tools.FileObject getFileForOutput( Location l, String pkgName, String relativeName, javax.tools.FileObject sibling )
throws IOException, UnsupportedOperationException, IllegalArgumentException {
if (!allowOutput) {
throw new UnsupportedOperationException("Output is unsupported.");
}
javax.tools.JavaFileObject file = findFile (pkgName, relativeName);
if (file == null) {
final List<ClassPath.Entry> entries = this.cp.entries();
if (!entries.isEmpty()) {
final String resourceName = FileObjects.resolveRelativePath(pkgName, relativeName);
file = provider.getArchive(entries.get(0).getURL(), cacheFile).create(resourceName, filter);
}
}
return file;
}