public static @Nullable String getAnnotationProcessorsGenerationPath(Module module, boolean forTests) {
    final AnnotationProcessingConfiguration config = CompilerConfiguration.getInstance(module.getProject()).getAnnotationProcessingConfiguration(module);
    final String sourceDirName = config.getGeneratedSourcesDirectoryName(forTests);
    if (config.isOutputRelativeToContentRoot()) {
      final String[] roots = ModuleRootManager.getInstance(module).getContentRootUrls();
      if (roots.length == 0) {
        return null;
      }
      if (roots.length > 1) {
        Arrays.sort(roots);
      }
      return StringUtil.isEmpty(sourceDirName)? VirtualFileManager.extractPath(roots[0]): VirtualFileManager.extractPath(roots[0]) + "/" + sourceDirName;
    }


    final String path = getModuleOutputPath(module, forTests);
    if (path == null) {
      return null;
    }
    return StringUtil.isEmpty(sourceDirName)? path : path + "/" + sourceDirName;
  }
public static @Nullable String getAnnotationProcessorsGenerationPath(Module module, boolean forTests)