parentObjectForRelationshipMapping: was being called twice; once to obtain the destinationObject, and once in the subsequent call to mapNestedObject.  Just create once and pass to both methods.  Also, it was being created once per loop in a to-many situation; it only needs to be created once.  Also, speed up parentObjectForRelationshipMapping: a little bit.