VisibleGraph<CommitId> (@NotNull SortType sortType, @Nullable Set<? extends CommitId> visibleHeads, @Nullable Set<? extends CommitId> matchingCommits, @NotNull BiConsumer<? super LinearGraphController, ? super PermanentGraphInfo<CommitId>> preprocessor) { LinearGraphController controller = createFilteredController(createBaseController(sortType), sortType, visibleHeads, matchingCommits); preprocessor.accept(controller, this); return new VisibleGraphImpl<>(controller, this, myGraphColorGetter); }