In the execution of the rules the original parents are used as a parameter rather than their copies. I am not sure what the implications are (if there are any) but I am quite sure this is not intended.
henshinExecutor.runRuleOperator(operator, graph, parents) -> henshinExecutor.runRuleOperator(operator, graph, crossoverParents)
henshinExecutor.runUnitOperator(operator, graph, parents) -> henshinExecutor.runUnitOperator(operator, graph, crossoverParents)