We should accept by also RevCommits as starting point. Same as in MergeCommand.include(..) - we have to accept Strings as well as higher-level objects.

Imagine you create the first branch with this command (which would return a RevCommit) and then you want to create a second branch with the first branch as starting point. We already have the object of right type in hand, but we are forced to convert it to a String and then this class will convert back the String to a RevCommit.