/// <summary>
        /// Обработка механизма взаимной установки/снятия признака ошибки для двух ячеек
        /// </summary>
        /// <param name="testingCell">Взаимная ячейка для обработки из взаимного состояния</param>
        /// <param name="thisIsError">true, если эта ячейка и проверяемая взаимно ошибочны; false, если нет.</param>
        private void SetError(CSudokuCell testingCell, bool thisIsError)
        {
            // Определение индекса взаимной ячейки
            int testingIndex = testingCell.Index;

            if (thisIsError)
            {
                // Ячейки взаимно ошибочны

                if (!errorCellList.Contains(testingIndex))
                {
                    // Взаимное добавление ячеек в ошибочные списки
                    errorCellList.Add(testingIndex);
                    testingCell.errorCellList.Add(Index);
                }
            }
            else
            {
                // Ячейки взаимно НЕ ошибочны

                if (errorCellList.Contains(testingIndex))
                {
                    // Взаимное убирание из ошибочных списков
                    errorCellList.Remove(testingIndex);
                    testingCell.errorCellList.Remove(Index);
                }
            }

            // Проверка наличия ошибки во взаимной ячейке
            testingCell.CalculateErrorField();
        }
        /// <summary>
        /// Проверка этой ячейки на наличие ошибки по отношению к другой ячейке
        /// </summary>
        /// <param name="testingCell">Та ячейка, ошибочность по отношению к которой нужно установить</param>
        public void TestError(CSudokuCell testingCell)
        {
            if (Value == 0)
            {
                // Пустая ячейка не может быть ошибочной
                return;
            }

            if (0 == testingCell.Value)
            {
                // В проверяемой ячейке стёрто значение. Уберём её из списка ошибочных, если к текущей ячейке относилась ошибка, вызванная предыдущим значением в проверяемой ячейке
                SetError(testingCell, false);
            }
            else
            {
                // Ошибка - когда значения в ячейках одинаковые
                SetError(testingCell, Value == testingCell.Value);
            }

            // Проверка наличия ошибки для этой ячейки. Наличие ошибки может быть вызвано НЕ ТОЛЬКО той ячейкой, по отношению к которой проводиласть проверка в этом методе, но и какой-либо другой.
            CalculateErrorField();
        }