/// <summary>
		/// Convert from API AttachmentRequirement to SDK AttachmentRequirement.
		/// </summary>
		/// <returns>The SDK attachment requirement.</returns>
		public Silanis.ESL.SDK.AttachmentRequirement ToSDKAttachmentRequirement()
		{
			if (apiAttachmentRequirement == null)
			{
				return sdkAttachmentRequirement;
			}

			if (apiAttachmentRequirement.Name != null)
			{
				Silanis.ESL.SDK.AttachmentRequirement result = new Silanis.ESL.SDK.AttachmentRequirement(apiAttachmentRequirement.Name);
				result.SenderComment = apiAttachmentRequirement.Comment;
				result.Description = apiAttachmentRequirement.Description;
				result.Id = apiAttachmentRequirement.Id;
				result.Required = apiAttachmentRequirement.Required.Value;
				result.Data = apiAttachmentRequirement.Data;
				result.Status = new RequirementStatusConverter(apiAttachmentRequirement.Status).ToSDKRequirementStatus();

				return result;
			}

			return sdkAttachmentRequirement;
		}
        /// <summary>
        /// Convert from API AttachmentRequirement to SDK AttachmentRequirement.
        /// </summary>
        /// <returns>The SDK attachment requirement.</returns>
        public Silanis.ESL.SDK.AttachmentRequirement ToSDKAttachmentRequirement()
        {
            if (apiAttachmentRequirement == null)
            {
                return(sdkAttachmentRequirement);
            }

            if (apiAttachmentRequirement.Name != null)
            {
                Silanis.ESL.SDK.AttachmentRequirement result = new Silanis.ESL.SDK.AttachmentRequirement(apiAttachmentRequirement.Name);
                result.SenderComment = apiAttachmentRequirement.Comment;
                result.Description   = apiAttachmentRequirement.Description;
                result.Id            = apiAttachmentRequirement.Id;
                result.Required      = apiAttachmentRequirement.Required.Value;
                result.Data          = apiAttachmentRequirement.Data;
                result.Status        = new RequirementStatusConverter(apiAttachmentRequirement.Status).ToSDKRequirementStatus();

                return(result);
            }

            return(sdkAttachmentRequirement);
        }
		/// <summary>
		/// Construct with SDK AttachmentRequirement object involved in conversion.
		/// </summary>
		/// <param name="sdkAttachmentRequirement">SDK attachment requirement.</param>
		public AttachmentRequirementConverter(Silanis.ESL.SDK.AttachmentRequirement sdkAttachmentRequirement)
		{
			this.sdkAttachmentRequirement = sdkAttachmentRequirement;
		}
 /// <summary>
 /// Construct with SDK AttachmentRequirement object involved in conversion.
 /// </summary>
 /// <param name="sdkAttachmentRequirement">SDK attachment requirement.</param>
 public AttachmentRequirementConverter(Silanis.ESL.SDK.AttachmentRequirement sdkAttachmentRequirement)
 {
     this.sdkAttachmentRequirement = sdkAttachmentRequirement;
 }