private static @Nullable Comparator<ItemWithPresentation> createImplementationComparator(@NotNull GotoData gotoData) {
    Comparator<ItemWithPresentation> projectContentComparator = wrapPsiComparator(projectElementsFirst(gotoData.source.getProject()));
    Comparator<ItemWithPresentation> presentationComparator = Comparator.comparing(element -> gotoData.getComparingObject(element));
    Comparator<ItemWithPresentation> positionComparator = wrapPsiComparator(PsiUtilCore::compareElementsByPosition);
    return projectContentComparator.thenComparing(presentationComparator).thenComparing(positionComparator);
  }
private static @Nullable Comparator<ItemWithPresentation> createImplementationComparator(@NotNull GotoData gotoData)