/// <summary>
        /// Performs data checks on diversion rights data. </summary>
        /// <param name="props"> A property list for specific properties
        /// on checking this data. </param>
        /// <param name="der_vector"> Vector of data to check. </param>
        private void checkDiversionRightsData(PropList props, System.Collections.IList der_vector)
        {
            // create elements for the checks and check file
            string[] header = StateMod_DiversionRight.getDataHeader();
            System.Collections.IList data = new List <object>();
            string title = "Diversion Rights";

            // Perform the general validation using the Data Table Model
            StateMod_Data_TableModel tm = new StateMod_DiversionRight_Data_TableModel(der_vector, false);

            System.Collections.IList @checked = performDataValidation(tm, title);
            //String [] columnHeader = getDataTableModelColumnHeader( tm );
            string[] columnHeader = getColumnHeader(tm);

            //	 do specific checks
            int size = 0;

            if (der_vector != null)
            {
                size = der_vector.Count;
            }
            data = doSpecificDataChecks(der_vector, props);
            // add the data and checks to the check file
            // provides basic header information for this data check table
            string info = "The following diversion rights (" + data.Count +
                          " out of " + size +
                          ") have no .....";

            // create data models for Check file
            CheckFile_DataModel dm     = new CheckFile_DataModel(data, header, title, info, data.Count, size);
            CheckFile_DataModel gen_dm = new CheckFile_DataModel(@checked, columnHeader, title + " Missing or Invalid Data", "", __gen_problems, size);

            __check_file.addData(dm, gen_dm);
        }