private void Init(string id, string name, string shortDescription, string fullDescription, IDictionary <string, string> messageFormats, RuleConfigurationVersionOne configuration, ResultLevelVersionOne defaultLevel, Uri helpUri, IDictionary <string, SerializedPropertyInfo> properties)
        {
            Id               = id;
            Name             = name;
            ShortDescription = shortDescription;
            FullDescription  = fullDescription;
            if (messageFormats != null)
            {
                MessageFormats = new Dictionary <string, string>(messageFormats);
            }

            Configuration = configuration;
            DefaultLevel  = defaultLevel;
            if (helpUri != null)
            {
                HelpUri = new Uri(helpUri.OriginalString, helpUri.IsAbsoluteUri ? UriKind.Absolute : UriKind.Relative);
            }

            if (properties != null)
            {
                Properties = new Dictionary <string, SerializedPropertyInfo>(properties);
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="RuleVersionOne" /> class from the supplied values.
 /// </summary>
 /// <param name="id">
 /// An initialization value for the <see cref="P: Id" /> property.
 /// </param>
 /// <param name="name">
 /// An initialization value for the <see cref="P: Name" /> property.
 /// </param>
 /// <param name="shortDescription">
 /// An initialization value for the <see cref="P: ShortDescription" /> property.
 /// </param>
 /// <param name="fullDescription">
 /// An initialization value for the <see cref="P: FullDescription" /> property.
 /// </param>
 /// <param name="messageFormats">
 /// An initialization value for the <see cref="P: MessageFormats" /> property.
 /// </param>
 /// <param name="configuration">
 /// An initialization value for the <see cref="P: Configuration" /> property.
 /// </param>
 /// <param name="defaultLevel">
 /// An initialization value for the <see cref="P: DefaultLevel" /> property.
 /// </param>
 /// <param name="helpUri">
 /// An initialization value for the <see cref="P: HelpUri" /> property.
 /// </param>
 /// <param name="properties">
 /// An initialization value for the <see cref="P: Properties" /> property.
 /// </param>
 public RuleVersionOne(string id, string name, string shortDescription, string fullDescription, IDictionary <string, string> messageFormats, RuleConfigurationVersionOne configuration, ResultLevelVersionOne defaultLevel, Uri helpUri, IDictionary <string, SerializedPropertyInfo> properties)
 {
     Init(id, name, shortDescription, fullDescription, messageFormats, configuration, defaultLevel, helpUri, properties);
 }