@NotNull
  private static MqPatchDetails parseAdditionalMqInfo(@Nullable VirtualFile root, @NotNull String context) {
    String[] lines = StringUtil.splitByLines(context, false);
    String user = null;
    Date date = null;
    String branch = null;
    List<String> messageLines = new ArrayList<>();
    String nodeId = null;
    String parent = null;

    for (String line : lines) {
      if (line.startsWith(DIFF_INFO)) {
        break;
      }
      else if (line.startsWith(NODE_ID)) {
        nodeId = extractField(line, NODE_ID);
      }
      else if (line.startsWith(PARENT_ID)) {
        parent = extractField(line, PARENT_ID);
      }
      else if (line.startsWith(DATE)) {
        date = tryParseDate(extractField(line, DATE));
      }
      else if (line.startsWith(BRANCH)) {
        branch = extractField(line, BRANCH);
      }
      else if (line.startsWith(USER)) {
        user = extractField(line, USER);
      }
      else if (!line.startsWith("# ")) {
        messageLines.add(line);
      }
    }
    return new MqPatchDetails(nodeId, parent, date, root, branch, StringUtil.join(messageLines, "\n"), user);
  }
@NotNull
  private static MqPatchDetails parseAdditionalMqInfo(@Nullable VirtualFile root, @NotNull String context)