}         // HasValidParameters

        public SortedTable <int, long, Esignature> Load()
        {
            var oResult = new SortedTable <int, long, Esignature>();

            ForEachResult <ResultRow>(oRow => {
                if (!oResult.Contains(oRow.CustomerID))
                {
                    oResult[oRow.CustomerID, oRow.EsignatureID] = oRow.CreateEsignature();
                    return(ActionResult.Continue);
                }                 // if

                if (!oResult.Contains(oRow.CustomerID, oRow.EsignatureID))
                {
                    oResult[oRow.CustomerID, oRow.EsignatureID] = oRow.CreateEsignature();
                    return(ActionResult.Continue);
                }                 // if

                oResult[oRow.CustomerID, oRow.EsignatureID].Signers.Add(oRow.CreateEsigner());
                return(ActionResult.Continue);
            });

            return(oResult);
        }         // Load