private static @Nullable DiffNavigationContext createDiffNavigationContext(@NotNull FileAnnotation fileAnnotation, int actualLine) {
    String annotatedContent = fileAnnotation.getAnnotatedContent();
    if (StringUtil.isEmptyOrSpaces(annotatedContent)) return null;

    String[] contentsLines = LineTokenizer.tokenize(annotatedContent, false, false);
    if (contentsLines.length <= actualLine) return null;

    final int correctedLine = correctActualLineIfTextEmpty(fileAnnotation, contentsLines, actualLine);
    return new DiffNavigationContext(new Iterable<>() {
      @Override
      public Iterator<String> iterator() {
        return new CacheOneStepIterator<>(new ContextLineIterator(contentsLines, fileAnnotation, correctedLine));
      }
    }, contentsLines[correctedLine]);
  }
private static @Nullable DiffNavigationContext createDiffNavigationContext(@NotNull FileAnnotation fileAnnotation, int actualLine)