@Override
  protected @Nullable BinaryContent instrument(CompileContext context,
                                               CompiledClass compiledClass,
                                               ClassReader reader,
                                               ClassWriter writer,
                                               InstrumentationClassFinder finder) {
    try {
      if (NotNullVerifyingInstrumenter.processClassFile(reader, writer, myNotNulls)) {
        return new BinaryContent(writer.toByteArray());
      }
    }
    catch (Throwable e) {
      LOG.error(e);
      final Collection<File> sourceFiles = compiledClass.getSourceFiles();
      final String msg = JpsBuildBundle.message("build.message.cannot.instrument.0.1", ContainerUtil.map(sourceFiles, file -> file.getName()), e.getMessage());
      context.processMessage(new CompilerMessage(
        getPresentableName(), BuildMessage.Kind.ERROR, msg, ContainerUtil.getFirstItem(compiledClass.getSourceFilesPaths())
      ));
    }
    return null;
  }
@Override
  protected @Nullable BinaryContent instrument(CompileContext context,
                                               CompiledClass compiledClass,
                                               ClassReader reader,
                                               ClassWriter writer,
                                               InstrumentationClassFinder finder)