/// <summary>
        /// This set of routines don't actually add an element to an array.  They already
        /// exist as part of a list of StateMod_ReservoirRight.  We are just connecting pointers.
        /// </summary>
        public static void connectAllRights(IList <StateMod_Reservoir> reservoirs, IList <StateMod_ReservoirRight> rights)
        {
            if (reservoirs == null)
            {
                return;
            }
            int i, num_res = reservoirs.Count;

            StateMod_Reservoir res = null;

            for (i = 0; i < num_res; i++)
            {
                res = reservoirs[i];
                if (res == null)
                {
                    continue;
                }
                res.connectRights(rights);
            }
            res = null;
        }
        /// <summary>
        /// Saves the input back into the dataset. </summary>
        /// <returns> true if the data was saved successfuly.  False if not. </returns>
        private bool saveData()
        {
            string routine = "StateMod_Reservoir_Right_JFrame.saveData";

            if (!__worksheet.stopEditing())
            {
                // don't save if there are errors.
                Message.printWarning(1, routine, "There are errors in the data " + "that must be corrected before data can be saved.", this);
                return(false);
            }

            if (checkInput() > 0)
            {
                return(false);
            }

            // now only save data if any are different.
            bool needToSave = false;

            // if the Vectors are differently-sized, they're different
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @SuppressWarnings("unchecked") java.util.List<StateMod_ReservoirRight> wv = (java.util.List<StateMod_ReservoirRight>)__worksheet.getAllData();
            IList <StateMod_ReservoirRight> wv = (IList <StateMod_ReservoirRight>)__worksheet.getAllData(); // w for worksheet
            IList <StateMod_ReservoirRight> rv = __currentRes.getRights();                                  // i for reservoir

            needToSave = !(StateMod_ReservoirRight.Equals(wv, rv));

            Message.printStatus(1, routine, "Saving? .........[" + needToSave + "]");

            if (!needToSave)
            {
                // there's nothing different -- users may even have deleted
                // some rights and added back in identical values
                return(true);
            }

            // at this point, remove the old diversion rights from the original
            // component list
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @SuppressWarnings("unchecked") java.util.List<StateMod_ReservoirRight> reservoirRights = (java.util.List<StateMod_ReservoirRight>)(__dataset.getComponentForComponentType(StateMod_DataSet.COMP_RESERVOIR_RIGHTS)).getData();
            IList <StateMod_ReservoirRight> reservoirRights = (IList <StateMod_ReservoirRight>)(__dataset.getComponentForComponentType(StateMod_DataSet.COMP_RESERVOIR_RIGHTS)).getData();
            int size = rv.Count;
            StateMod_ReservoirRight ir;

            for (int i = 0; i < size; i++)
            {
                ir = (StateMod_ReservoirRight)rv[i];
                StateMod_Util.removeFromVector(reservoirRights, ir);
            }

            // now add the elements from the new Vector to the reservoirRights
            // Vector.
            size = wv.Count;
            StateMod_ReservoirRight cdr = null;

            for (int i = 0; i < size; i++)
            {
                ir           = (StateMod_ReservoirRight)wv[i];
                cdr          = (StateMod_ReservoirRight)ir.clone();
                cdr._isClone = false;
                reservoirRights.Add(cdr);
            }

            // sort the reservoirRights Vector
            // REVISIT (JTS - 2003-10-10)
            // here we are sorting the full data array -- may be a performance
            // issue
            IList <StateMod_ReservoirRight> sorted = StateMod_Util.sortStateMod_DataVector(reservoirRights);

            __dataset.getComponentForComponentType(StateMod_DataSet.COMP_RESERVOIR_RIGHTS).setData(sorted);
            __currentRes.disconnectRights();
            __currentRes.connectRights(sorted);
            __dataset.setDirty(StateMod_DataSet.COMP_RESERVOIR_RIGHTS, true);
            return(true);
        }