@Nullable
  @Override
  public Result applyFilter(@NotNull String line, int entireLength) {
    if (!lightCheck(line)) return null;

    Matcher matcher = myPattern.matcher(line);
    if (!matcher.matches()) return null;

    String path = matcher.group(1);

    VirtualFile file = LocalFileSystem.getInstance().findFileByPath(path);
    if (file == null) {
      if (SystemInfo.isWindows && path.matches("/[A-Z]:/.+")) {
        file = LocalFileSystem.getInstance().findFileByPath(path.substring(1));
      }
      if (file == null) return null;
    }

    int lineNumber = Integer.parseInt(matcher.group(2)) - 1;
    if (lineNumber < 0) {
      lineNumber = -1;
    }

    TextAttributes attr = createCompilationErrorAttr();

    return new Result(entireLength - line.length() + matcher.start(1), entireLength - line.length() + matcher.end(1),
                      new OpenFileHyperlinkInfo(myProject, file, lineNumber), attr);
  }
@Nullable
  @Override
  public Result applyFilter(@NotNull String line, int entireLength)