/** * Lookup and copy all in migration events from one individual to another * * @param primary the individual who will receive the copied events * @param toMergeFrom the individual to lookup events on * @return a copy of any in migrations from the toMergeFrom individual */ private List<InMigration> getInMigrationEvents(Individual primary, Individual toMergeFrom) { List<InMigration> events = new ArrayList<InMigration>(); // first attempt to merge any in migration events List<InMigration> inMigrations = genericDao.findListByProperty(InMigration.class, "individual", toMergeFrom); for (InMigration inMig : inMigrations) { // make a copy of the in migration & residency InMigration inMigNew = copyInMigration(primary, inMig); Residency residencyNew = copyResidency(primary, inMig.getResidency()); inMigNew.setResidency(residencyNew); events.add(inMigNew); } return events; }