private @Nullable R createRecord() {
    if (myPathsParser.getErrorText() != null ||
        !myOptionsParser.hasCompleteOptionsList()) {
      if (myPathsParser.getErrorText() != null) LOG.debug("Creating record was skipped: " + myPathsParser.getErrorText());
      if (!myOptionsParser.hasCompleteOptionsList()) {
        LOG.debug("Parsed incomplete options " + myOptionsParser.myResult.getResult() + " for " +
                  Arrays.toString(myOptionsParser.myOptions));
      }
      myOptionsParser.clear();
      myRecordBuilder.clear();
      myPathsParser.clear();
      return null;
    }

    Map<GitLogOption, String> options = myOptionsParser.getResult();
    myOptionsParser.clear();

    R record = myRecordBuilder.build(options, mySupportsRawBody);
    myRecordBuilder.clear();
    myPathsParser.clear();
    myIsInBody = true;

    return record;
  }
private @Nullable R createRecord()