@Nullable
  private CppProjectImpl appendCppProject(@NotNull IdeaModule gradleModule,
                                          @NotNull DataNode<ModuleData> ideModule) {
    CppProjectImpl cppProject = null;
    org.gradle.tooling.model.cpp.CppProject gradleCppProject =
      resolverCtx.getExtraProject(gradleModule, org.gradle.tooling.model.cpp.CppProject.class);
    if (gradleCppProject != null) {
      cppProject = convert(gradleCppProject);
    }
    else {
      // todo[Vlad] old experimental support for Gradle 4.1 - 4.9, to be removed in 2019.1
      CppProject customGradleCppProject = resolverCtx.getExtraProject(gradleModule, CppProject.class);
      if (customGradleCppProject != null) {
        // store a local process copy of the object to get rid of proxy types for further serialization
        cppProject = new CppProjectImpl(customGradleCppProject);
      }
    }
    if (cppProject != null) {
      ideModule.createChild(CPP_PROJECT, cppProject);
    }
    return cppProject;
  }
@Nullable
  private CppProjectImpl appendCppProject(@NotNull IdeaModule gradleModule,
                                          @NotNull DataNode<ModuleData> ideModule)