   # @param callback [(Error, ParseResult)]
   make: (source, callback) ->
     protagonist.parse source, @config, (error, result) =>
-      callback error if error
+      return callback error if error
 
       ruleList = ['mson-inheritance', 'mson-mixin', 'mson-member-type-name']
       rules = (require './rules/' + rule for rule in ruleList)


      async.each payloads, @resolvePayload, (error) =>
        @reconstructResourceGroups result.ast
        callback error, result

  # Resolve assets of a payload
  resolvePayload: ({payload, actionAttributes}, callback) ->

# @param contentType [Object] Payload content type
generateSchema = (payload, attributes, contentType, callback) ->
  if not attributes? or payload.schema or contentType.indexOf('json') is -1
    return callback null, payload, attributes, contentType

  boutique.represent
    ast: attributes,
