internal ErrorLog Validate()
        {
            if (this.m_config.IsValidationEnabled)
            {
                if (!this.PerformSingleCellChecks())
                {
                    return(this.m_errorLog);
                }
            }
            else if (!this.CheckCellsWithDistinctFlag())
            {
                return(this.m_errorLog);
            }
            SchemaConstraints <BasicKeyConstraint> schemaConstraints1 = new SchemaConstraints <BasicKeyConstraint>();
            SchemaConstraints <BasicKeyConstraint> schemaConstraints2 = new SchemaConstraints <BasicKeyConstraint>();

            this.ConstructCellRelationsWithConstraints(schemaConstraints1, schemaConstraints2);
            if (this.m_config.IsVerboseTracing)
            {
                Trace.WriteLine(string.Empty);
                Trace.WriteLine("C-Level Basic Constraints");
                Trace.WriteLine((object)schemaConstraints1);
                Trace.WriteLine("S-Level Basic Constraints");
                Trace.WriteLine((object)schemaConstraints2);
            }
            this.m_cViewConstraints = CellGroupValidator.PropagateConstraints(schemaConstraints1);
            this.m_sViewConstraints = CellGroupValidator.PropagateConstraints(schemaConstraints2);
            if (this.m_config.IsVerboseTracing)
            {
                Trace.WriteLine(string.Empty);
                Trace.WriteLine("C-Level View Constraints");
                Trace.WriteLine((object)this.m_cViewConstraints);
                Trace.WriteLine("S-Level View Constraints");
                Trace.WriteLine((object)this.m_sViewConstraints);
            }
            if (this.m_config.IsValidationEnabled)
            {
                this.CheckImplication(this.m_cViewConstraints, this.m_sViewConstraints);
            }
            return(this.m_errorLog);
        }