@Override
  public void setMapping(@Nullable VirtualFile file, @Nullable T value) {
    synchronized (myMappings) {
      ensureStateLoaded();
      if (value == null) {
        myMappings.remove(file);
      }
      else {
        myMappings.put(file, MappingValue.known(value));
      }
    }
    List<VirtualFile> files = ContainerUtil.createMaybeSingletonList(file);
    handleMappingChange(files, files, false);
  }
@Override
  public void setMapping(@Nullable VirtualFile file, @Nullable T value)