code: public static InterestingLines extractInterestedLines(String source, int line, int border, Logger logger) {
          try {
              if (source == null) {
                  return null;
              }
              String[] lines = source.split("\n");
              int firstLine = Math.max(0, line - border);
              int lastLine = Math.min(lines.length - 1, line + border);
              List<String> focusOn = new ArrayList<>();
              focusOn.addAll(Arrays.asList(lines).subList(firstLine, lastLine + 1));
              return new InterestingLines(firstLine + 1, focusOn.toArray(new String[focusOn.size()]), line - firstLine - 1);
          } catch (Exception e) {
              logger.error("Cannot extract the interesting lines", e);
              return null;
          }
      }
docs: Extracts interesting lines to be displayed to the user.
  
  @param source the source
  @param line   the line responsible of the error
  @param border number of lines to use as a border
  @param logger the logger to use to report errors
  @return the interested line structure