@Override
  public @NotNull StateStorage create(@NotNull StateStorageManager storageManager) {
    ComponentManager componentManager = storageManager.getComponentManager();
    assert componentManager != null;
    if (path.equals(StoragePathMacros.MODULE_FILE)) {
      return new ExternalModuleStorage((Module)componentManager, storageManager);
    }

    var project = (Project)componentManager;
    if (inProjectStateSpec == null) {
      return new ExternalProjectStorage(path, project, storageManager, "project");
    }
    else {
      var storage = (DirectoryBasedStorage)storageManager.getStateStorage(inProjectStateSpec.storages()[0]);
      return new ExternalProjectFilteringStorage(path, project, storageManager, inProjectStateSpec.name(), storage);
    }
  }
@Override
  public @NotNull StateStorage create(@NotNull StateStorageManager storageManager)