/// <summary>
 /// Creates a new dynamic route.
 /// </summary>
 /// <param name="parent"></param>
 /// <param name="is_round"></param>
 internal MultiRoutePart(DynamicAsymmetricMultiRoute parent, bool is_round)
 {
     _parent   = parent;
     _first    = -1;
     _last     = -1;
     _is_round = is_round;
 }
            /// <summary>
            /// Creates a new dynamic route.
            /// </summary>
            /// <param name="parent"></param>
            /// <param name="first"></param>
            /// <param name="is_round"></param>
            internal MultiRoutePart(DynamicAsymmetricMultiRoute parent,
                                    int first, bool is_round)
            {
                _parent = parent;

                _first = first;
                //_next_array = next_array;
                _is_round = is_round;

                if (_is_round)
                {
                    _last = first;
                }
                else
                {
                    _last = -1;
                }
            }