code: function extractFromErrorClass(err, errorMessage) {
  
    errorMessage.setMessage(err.stack);
  
    if (has(err, 'user')) {
  
      errorMessage.setUser(err.user);
    }
  
    if (has(err, 'serviceContext') && isObject(err.serviceContext)) {
  
      errorMessage.setServiceContext(err.serviceContext.service,
                                     err.serviceContext.version);
    }
  }
docs: Extracts error information from an instance of the Error class and marshals
  that information into the provided instance of error message. This function
  will check before accessing any part of the error for propety presence but
  will not check the types of these property values that is instead work that
  is allocated to the error message instance itself.
  @param {Error} err - the error instance
  @param {ErrorMessage} errorMessage - the error message instance to have the
  error information marshaled into
  @returns {Undefined} - does not return anything