/** Free resources related to annotation processing. */ public void close() { filer.close(); if (discoveredProcs != null) // Make calling close idempotent discoveredProcs.close(); discoveredProcs = null; if (processorClassLoader != null && processorClassLoader instanceof Closeable) { try { ((Closeable) processorClassLoader).close(); } catch (IOException e) { JCDiagnostic msg = diags.fragment("fatal.err.cant.close.loader"); throw new FatalError(msg, e); } } }