#393 (Refactor GP crossover operators to extract common code into the abstract base class GPCrossoverBase)