private static List <UserDefinedCellNameCellsPair> __GetPairs(IVisio.Shape shape, VASS.CellValueType type)
        {
            var listof_udcellcells = UserDefinedCellCells.GetCells(shape, type);


            int num_udcells = listof_udcellcells.Count;

            var udcell_names = UserDefinedCellHelper.GetNames(shape);

            if (udcell_names.Count != num_udcells)
            {
                throw new VisioAutomation.Exceptions.InternalAssertionException("Unexpected number of user-define cell names");
            }

            int shapeid     = shape.ID16;
            var pairs       = new List <UserDefinedCellNameCellsPair>(num_udcells);
            var udcell_rows = Enumerable.Range(0, num_udcells);

            foreach (int udcell_row in udcell_rows)
            {
                var pair = new UserDefinedCellNameCellsPair(shapeid, udcell_row, udcell_names[udcell_row], listof_udcellcells[udcell_row]);
                pairs.Add(pair);
            }

            return(pairs);
        }
        // ---------------------------------------------------------------
        // ---------------------------------------------------------------
        // ---------------------------------------------------------------

        private static List <UserDefinedCellNameCellsPair> __CreateNamePairs(int shapeid, List <string> udcell_names, List <UserDefinedCellCells> list_udcells)
        {
            var namepairs   = new List <UserDefinedCellNameCellsPair>(list_udcells.Count);
            int num_udcells = list_udcells.Count;
            var udcell_rows = Enumerable.Range(0, num_udcells);

            foreach (int udcell_row in udcell_rows)
            {
                var udcell_name = udcell_names[udcell_row];
                var pair        = new UserDefinedCellNameCellsPair(shapeid, udcell_row, udcell_name, list_udcells[udcell_row]);

                namepairs.Add(pair);
            }

            return(namepairs);
        }