@Override
  public void onBeforeClose() {
    if ((myVisuallyCached != null) && (myVisuallyCached.hadBeenSuccessfullyAccessed())) {
      myVisuallyCached.doCacheUpdate(myChunks);
      // keep also in internal cache
      InternallyCachedProvider.initCache(myChunks, myProject);
    }
    else if (myInternallyCached != null) {
      myInternallyCached.doCacheUpdate(myChunks);
    }
    else {
      InternallyCachedProvider.initCache(myChunks, myProject);
    }
  }
@Override
  public void onBeforeClose()