public override ProcessingMessage Register(ProcessingErrorCode code, Severity severity, ObjectType objectType, string objectName, string propertyName, ProcessingMessageList innerMessages, params string[] arguments) { try { Monitor.Enter(this); if (severity == Severity.Error) { base.m_hasError = true; } if (this.RegisterItem(severity, code, objectType, objectName)) { if (base.m_messages == null) { base.m_messages = new ProcessingMessageList(); } ProcessingMessage processingMessage = ErrorContext.CreateProcessingMessage(code, severity, objectType, objectName, propertyName, innerMessages, arguments); base.m_messages.Add(processingMessage); return(processingMessage); } return(null); } finally { Monitor.Exit(this); } }