static <E extends WorkspaceEntity> DependencyOnParent<E> create(@NotNull Class<E> parentClass,
                                                                    @NotNull BiFunction<? super E, ? super E, @NotNull Collection<? extends IndexableIteratorBuilder>> replacedIteratorsCreator) {
      final class MyDependency implements DependencyOnParent<E> {
        @Override
        public @NotNull Class<E> getParentClass() {
          return parentClass;
        }

        @Override
        public @NotNull Collection<? extends IndexableIteratorBuilder> getReplacedEntityIteratorBuilders(@NotNull E oldEntity,
                                                                                                         @NotNull E newEntity) {
          return replacedIteratorsCreator.apply(oldEntity, newEntity);
        }
      }
      return new MyDependency();
    }
static <E extends WorkspaceEntity> DependencyOnParent<E> create(@NotNull Class<E> parentClass,
                                                                    @NotNull BiFunction<? super E, ? super E, @NotNull Collection<? extends IndexableIteratorBuilder>> replacedIteratorsCreator)