/// <summary>
        /// Creates and initializes an instance of the class by loading a serialized version of the instance from a database record.
        /// </summary>
        /// <param name="connectionString">Connection parameters for the database.</param>
        /// <param name="listName">Name of the list in the database.</param>
        /// <returns>PFListEx object.</returns>
        public PFKeyValueListSorted <K, V> LoadFromDatabase(string connectionString, string listName)
        {
            PFDBKeyValueListProcessor <K, V> listProcessor = new PFDBKeyValueListProcessor <K, V>();
            PFKeyValueList <K, V>            kvlist        = listProcessor.LoadFromDatabase(connectionString, listName);

            return(ConvertPFKeyValueListToSortedList(kvlist));
        }
        /// <summary>
        /// Saves the public property values contained in the current instance to the database specified by the connection string.
        /// </summary>
        /// <param name="kvlistSorted">Sorted key value list to be saved to database.</param>
        /// <param name="connectionString">Contains information needed to open the database.</param>
        /// <param name="listName">Name to give list in the database.</param>
        public void SaveToDatabase(PFKeyValueListSorted <K, V> kvlistSorted, string connectionString, string listName)
        {
            PFKeyValueList <K, V> kvlist = ConvertPFKeyValueListSortedToPFKeyValueList(kvlistSorted);

            PFDBKeyValueListProcessor <K, V> listProcessor = new PFDBKeyValueListProcessor <K, V>();

            listProcessor.SaveToDatabase(kvlist, connectionString, listName);
        }