private void withProjectCachesDo()

in maven2-server-impl/src/org/jetbrains/idea/maven/server/embedder/Maven2ServerEmbedderImpl.java [636:654]


  private void withProjectCachesDo(Consumer<? super Map> func) throws RemoteException {
    MavenProjectBuilder builder = myImpl.getComponent(MavenProjectBuilder.class);
    Field field;
    try {
      field = builder.getClass().getDeclaredField("rawProjectCache");
      field.setAccessible(true);
      func.accept(((Map)field.get(builder)));

      field = builder.getClass().getDeclaredField("processedProjectCache");
      field.setAccessible(true);
      func.accept(((Map)field.get(builder)));
    }
    catch (NoSuchFieldException | IllegalAccessException e) {
      Maven2ServerGlobals.getLogger().info(e);
    }
    catch (Exception e) {
      throw wrapToSerializableRuntimeException(e);
    }
  }