/// <summary>
 /// Converts the <see cref="sourceValue" /> parameter to the <see cref="destinationType" /> parameter using <see cref="formatProvider"
 /// /> and <see cref="ignoreCase" />
 /// </summary>
 /// <param name="sourceValue">the value to convert into an instance of <see cref="ApiKey" />.</param>
 /// <returns>
 /// an instance of <see cref="ApiKey" />, or <c>null</c> if there is no suitable conversion.
 /// </returns>
 public static object ConvertFrom(dynamic sourceValue)
 {
     if (null == sourceValue)
     {
         return(null);
     }
     try
     {
         ApiKey.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());
     }
     catch
     {
         // Unable to use JSON pattern
     }
     try
     {
         return(new ApiKey
         {
             Name = sourceValue.Name,
             ConnectionString = sourceValue.ConnectionString,
             Id = sourceValue.Id,
             LastModified = sourceValue.LastModified,
             ReadOnly = sourceValue.ReadOnly,
             Value = sourceValue.Value,
         });
     }
     catch
     {
     }
     return(null);
 }