}
@Override
public JavaFileObject getJavaFileForOutput(Location location, final String className,
JavaFileObject.Kind kind, FileObject sibling) throws IOException {
return new SimpleJavaFileObject(EMPTY_URI, kind) {
@Override
public OutputStream openOutputStream() throws IOException {
ByteArrayOutputStream outputStream = byteCodeForClasses.get(className);
if (outputStream != null) {
throw new IllegalStateException("Cannot write more than once");