private static string ExtractMessage(FutError futError)
        {
            futError.ThrowIfNullArgument();
            
            string result = "Code: " + futError.Code;
            if (!string.IsNullOrEmpty(futError.Reason))
                result += ", Reason: " + futError.Reason;
            if (!string.IsNullOrEmpty(futError.Message))
                result += ", Message: " + futError.Message;
            if (!string.IsNullOrEmpty(futError.Debug))
                result += ", Debug: " + futError.Debug;
            if (!string.IsNullOrEmpty(futError.String))
                result += ", String: " + futError.String;

            return result;
        }