 	private let keyFormatter: KeyFormatter
 	
 	// Extracted objects
-	private var extractedPrimaryResources: [Resource] = []
+	private var extractedPrimaryResources: [Resource]?
 	private var extractedIncludedResources: [Resource] = []
 	private var extractedErrors: [APIError]?
 	private var extractedMeta: [String: AnyObject]?

		// Extract resources
		do {
			if let data = self.data["data"].array {
				for (index, representation) in data.enumerate() {
					try extractedPrimaryResources.append(deserializeSingleRepresentation(representation, mappingTargetIndex: index))
				}
			} else if let _ = self.data["data"].dictionary {
				try extractedPrimaryResources.append(deserializeSingleRepresentation(self.data["data"], mappingTargetIndex: resourcePool.startIndex))
			}

			if let data = self.data["included"].array {

		
		// Create a result
		var responseDocument = JSONAPIDocument(data: nil, included: nil, errors: extractedErrors, meta: extractedMeta, links: extractedLinks, jsonapi: extractedJSONAPI)
    responseDocument.data = extractedPrimaryResources
		if !extractedIncludedResources.isEmpty {
			responseDocument.included = extractedIncludedResources
		}
