@Override
      void process(Project project, VcsKey vcsKey, ChangelistBuilder builder,
        HgRevisionNumber currentNumber, HgRevisionNumber parentRevision,
        HgFile beforeFile, HgFile afterFile) {
        if (beforeFile.getFile().exists()) {
          // The original file exists so this is a duplication of the file.
          // Don't create the before ContentRevision or IDEA will think
          // this was a rename.
          //todo: fix this unexpected status behavior (sometimes added  status instead of copied, and copied instead of renamed )
          processChange(
            null,
            HgCurrentContentRevision.create(afterFile, currentNumber),
            FileStatus.ADDED,
            builder,
            vcsKey
          );
        } else {
          // The original file does not exist, so this is a renamed.
          processChange(
            HgContentRevision.create(project, beforeFile, parentRevision),
            HgCurrentContentRevision.create(afterFile, currentNumber),
            FileStatuses.RENAMED,
            builder,
            vcsKey
          );
        }
      }
@Override
      void process(Project project, VcsKey vcsKey, ChangelistBuilder builder,
        HgRevisionNumber currentNumber, HgRevisionNumber parentRevision,
        HgFile beforeFile, HgFile afterFile)