public void Validate(
     ICompilerPolicies policies, 
     ICompilerNotificationMessageBuilder messageBuilder, 
     INotificationWriter writer)
 {
     if (false == policies.IsValidInterfacePropertyName(this.PropertyName))
     {
         writer.Error(messageBuilder.InvalidInterfacePropertyName(this.Contract.InterfaceName, this.PropertyName));
     }
 }
        internal void Validate(ICompilerPolicies policies, ICompilerNotificationMessageBuilder messageBuilder, INotificationWriter writer)
        {
            if (false == policies.IsValidInterfaceName(InterfaceName))
            {
                writer.Error(messageBuilder.InvalidInterfaceName(InterfaceName));
            }

            foreach (var contractProperty in this.Properties)
            {
                contractProperty.Validate(policies, messageBuilder, writer);
            }
        }