public static RegionMoves Combine(RegionMoves first, RegionMoves second)
        {
            RegionMoves newRegionMoves = new RegionMoves();

            newRegionMoves.SetDirectionSegmentCount(first.ForwardIn1stD.Count + second.ForwardIn1stD.Count,
                                                    first.ReverseIn1stD.Count + second.ReverseIn1stD.Count,
                                                    first.ForwardIn2ndD.Count + second.ForwardIn2ndD.Count,
                                                    first.ReverseIn2ndD.Count + second.ReverseIn2ndD.Count);

            newRegionMoves.SetDistanceSegmentCount(first.JumpIn1stD.Count + second.JumpIn1stD.Count,
                                                   first.ContiguityIn1stD.Count + second.ContiguityIn1stD.Count,
                                                   first.JumpIn2ndD.Count + second.JumpIn2ndD.Count,
                                                   first.ContiguityIn2ndD.Count + second.ContiguityIn2ndD.Count);

            return(newRegionMoves);
        }