/// <summary>
 /// Validate this object.
 /// </summary>
 /// <param name="validationLog">
 /// The validation log.
 /// </param>
 protected internal virtual void Validate(ValidationLog validationLog)
 {
     if (!this.ExistId)
     {
         var message = "id on " + this.ValidationName + " is required";
         validationLog.AddError(message, this, ValidationKind.Unique, AllorsEmbeddedDomain.MetaObjectId);
     }
     else
     {
         if (validationLog.ExistId(this.Id))
         {
             var message = "id " + this.ValidationName + " is already in use";
             validationLog.AddError(message, this, ValidationKind.Unique, AllorsEmbeddedDomain.MetaObjectId);
         }
         else
         {
             validationLog.AddId(this.Id);
         }
     }
 }