 	
 	// MARK: Special attributes
 	
+	/**
+	 Extracts the resource ID from the serialized data into the given resource.
+
+	 :param: serializedData The data from which to extract the ID.
+	 :param: resource       The resource into which to extract the ID.
+	 */
 	private func extractID(serializedData: JSONValue, intoResource resource: Resource) {
 		if let ID = serializedData["id"].string {
 			resource.resourceID = ID
 		}
 	}
 	
+	/**
+	 Extracts the resource href from the serialized data into the given resource.
+
+	 :param: serializedData The data from which to extract the href.
+	 :param: resource       The resource into which to extract the href.
+	 */
 	private func extractHref(serializedData: JSONValue, intoResource resource: Resource) {
 		if let href = serializedData["href"].string {
 			resource.resourceLocation = href

	
	
	// MARK: Attributes
	
	private func extractAttributes(serializedData: JSONValue, intoResource resource: Resource) {
		for (attributeName, attribute) in resource.persistentAttributes {
			if attribute.isRelationship() {

	
	// MARK: Relationships
	
	/**
	 Extracts the relationships from the given data into the given resource.

	 This method loops over all the relationships in the passed resource, maps the relationship name
	 to the key for the serialized form and invokes `extractToOneRelationship` or `extractToManyRelationship`.
	 It then sets the extracted ResourceRelationship on the resource.

	 :param: serializedData The data from which to extract the relationships.
	 :param: resource       The resource into which to extract the relationships.
	 */
	private func extractRelationships(serializedData: JSONValue, intoResource resource: Resource) {
		for (attributeName, attribute) in resource.persistentAttributes {
			if !attribute.isRelationship() {
