array( 'additionalColumns' => array( 'role' => 'accountRole', 'isInactive' => 'accountIsInactive' ) ), 'targetLists' => array( 'additionalColumns' => array( 'optedOut' => 'isOptedOut' ) ) ); protected function getDuplicateWhereClause(Entity $entity, $data) { if (!$entity->get('name')) { return false; } return array( 'name' => $entity->get('name') ); } protected function afterMerge(Entity $entity, array $sourceList, $attributes) { foreach ($sourceList as $source) { $contactList = $this->getEntityManager()->getRepository('Contact')->where([ 'accountId' => $source->id ])->find(); foreach ($contactList as $contact) { $contact->set('accountId', $entity->id); $this->getEntityManager()->saveEntity($contact); } } } }