/// <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="BuildInfo" />.</param>
 /// <returns>
 /// an instance of <see cref="BuildInfo" />, or <c>null</c> if there is no suitable conversion.
 /// </returns>
 public static object ConvertFrom(dynamic sourceValue)
 {
     if (null == sourceValue)
     {
         return(null);
     }
     try
     {
         BuildInfo.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());
     }
     catch
     {
         // Unable to use JSON pattern
     }
     try
     {
         return(new BuildInfo
         {
             BuildType = sourceValue.BuildType,
             CommitDate = sourceValue.CommitDate,
             CommitId = sourceValue.CommitId,
             FullVersion = sourceValue.FullVersion,
             ShortCommitId = sourceValue.ShortCommitId,
             Version = sourceValue.Version,
         });
     }
     catch
     {
     }
     return(null);
 }