Program: 91422
Project: 91422
Buggy source:
private void setAuthorAndCommitter(CommitCommand commitCommand) throws TeamException {
  final Date commitDate=new Date();
  final TimeZone timeZone=TimeZone.getDefault();
  final PersonIdent enteredAuthor=RawParseUtils.parsePersonIdent(author);
  final PersonIdent enteredCommitter=RawParseUtils.parsePersonIdent(committer);
  if (enteredAuthor == null)   throw new TeamException(NLS.bind(CoreText.CommitOperation_errorParsingPersonIdent,author));
  if (enteredCommitter == null)   throw new TeamException(NLS.bind(CoreText.CommitOperation_errorParsingPersonIdent,committer));
  PersonIdent authorIdent;
  if (repo.getRepositoryState().equals(RepositoryState.CHERRY_PICKING_RESOLVED)) {
    try (RevWalk rw=new RevWalk(repo)){
      ObjectId cherryPickHead=repo.readCherryPickHead();
      authorIdent=rw.parseCommit(cherryPickHead).getAuthorIdent();
    }
 catch (    IOException e) {
      Activator.error(CoreText.CommitOperation_ParseCherryPickCommitFailed,e);
      throw new IllegalStateException(e);
    }
  }
 else {
    authorIdent=new PersonIdent(enteredAuthor,commitDate,timeZone);
  }
  final PersonIdent committerIdent=new PersonIdent(enteredCommitter,commitDate,timeZone);
  if (amending) {
    RepositoryUtil repoUtil=Activator.getDefault().getRepositoryUtil();
    RevCommit headCommit=repoUtil.parseHeadCommit(repo);
    if (headCommit != null) {
      final PersonIdent headAuthor=headCommit.getAuthorIdent();
      authorIdent=new PersonIdent(enteredAuthor,headAuthor.getWhen(),headAuthor.getTimeZone());
    }
  }
  commitCommand.setAuthor(authorIdent);
  commitCommand.setCommitter(committerIdent);
}

Fixed version (ground truth):
private void setAuthorAndCommitter(CommitCommand commitCommand) throws TeamException {
  final Date commitDate=new Date();
  final TimeZone timeZone=TimeZone.getDefault();
  final PersonIdent enteredAuthor=RawParseUtils.parsePersonIdent(author);
  final PersonIdent enteredCommitter=RawParseUtils.parsePersonIdent(committer);
  if (enteredAuthor == null)   throw new TeamException(NLS.bind(CoreText.CommitOperation_errorParsingPersonIdent,author));
  if (enteredCommitter == null)   throw new TeamException(NLS.bind(CoreText.CommitOperation_errorParsingPersonIdent,committer));
  PersonIdent authorIdent;
  if (repo.getRepositoryState().equals(RepositoryState.CHERRY_PICKING_RESOLVED)) {
    try (RevWalk rw=new RevWalk(repo)){
      ObjectId cherryPickHead=repo.readCherryPickHead();
      authorIdent=rw.parseCommit(cherryPickHead).getAuthorIdent();
    }
 catch (    IOException e) {
      Activator.logError(CoreText.CommitOperation_ParseCherryPickCommitFailed,e);
      throw new IllegalStateException(e);
    }
  }
 else {
    authorIdent=new PersonIdent(enteredAuthor,commitDate,timeZone);
  }
  final PersonIdent committerIdent=new PersonIdent(enteredCommitter,commitDate,timeZone);
  if (amending) {
    RepositoryUtil repoUtil=Activator.getDefault().getRepositoryUtil();
    RevCommit headCommit=repoUtil.parseHeadCommit(repo);
    if (headCommit != null) {
      final PersonIdent headAuthor=headCommit.getAuthorIdent();
      authorIdent=new PersonIdent(enteredAuthor,headAuthor.getWhen(),headAuthor.getTimeZone());
    }
  }
  commitCommand.setAuthor(authorIdent);
  commitCommand.setCommitter(committerIdent);
}