@NotNull
  @Override
  public BuildProgress<BuildProgressDescriptor> fileMessage(@NotNull String title,
                                                            @NotNull String message,
                                                            @NotNull MessageEvent.Kind kind,
                                                            @NotNull FilePosition filePosition) {
    StringBuilder fileLink = new StringBuilder(filePosition.getFile().getPath());
    if (filePosition.getStartLine() > 0) {
      fileLink.append(":").append(filePosition.getStartLine() + 1);
      if (filePosition.getStartColumn() > 0) {
        fileLink.append(":").append(filePosition.getStartColumn() + 1);
      }
    }
    @NlsSafe String detailedMessage = fileLink.toString() + '\n' + message;
    FileMessageEventImpl event = new FileMessageEventImpl(getId(), kind, null, title, detailedMessage, filePosition);
    myListener.onEvent(getBuildId(), event);
    return this;
  }
@NotNull
  @Override
  public BuildProgress<BuildProgressDescriptor> fileMessage(@NotNull String title,
                                                            @NotNull String message,
                                                            @NotNull MessageEvent.Kind kind,
                                                            @NotNull FilePosition filePosition)