@NotNull public Couple<HgRevisionNumber> parents(@NotNull VirtualFile repo,@Nullable FilePath file,@Nullable HgRevisionNumber revision){
  final List<HgRevisionNumber> revisions=getRevisions(repo,"parents",file,revision,true);
switch (revisions.size()) {
case 1:
    return Couple.of(revisions.get(0),null);
case 2:
  return Couple.of(revisions.get(0),revisions.get(1));
default :
return Couple.of(null,null);
}
}

@ NotNull public Couple < HgRevisionNumber > parents ( @ NotNull VirtualFile repo , @ Nullable FilePath file , @ Nullable HgRevisionNumber revision ) { final List < HgRevisionNumber > revisions = getRevisions ( repo , "parents" , file , revision , true ) ; switch ( revisions . size ( ) ) { case 1 : return Couple . of ( revisions . get ( 0 ) , null ) ; case 2 : return Couple . of ( revisions . get ( 0 ) , revisions . get ( 1 ) ) ; default : return Couple . of ( null , null ) ; } }
parent ( s ) of the given revision of the given file . if there are two of them ( in the case of merge ) the first element of the pair is the latest parent ( i . e . having greater revision number ) , second one is the earlier parent ( having smaller revision number ) .
