Hmm.  Isn't this always true?  commit is reachable from headCommit, that's how we found it and included it into the result from LogCommand.  Thus its always merged into headCommit, and thus this expression is always true.  So aren't you always falling out with cherryPickList empty?