private void checkForAlreadyExistingFundings(FundingList existingFundings, List<Funding> updatedFundingsList) { if (existingFundings != null) { Set<Funding> existingFundingsSet = new HashSet<>(); for (Funding existingFunding : existingFundings.getFundings()) { existingFundingsSet.add(existingFunding); } for (Iterator<Funding> updatedFundingIterator = updatedFundingsList.iterator(); updatedFundingIterator.hasNext();) { Funding updatedFunding = updatedFundingIterator.next(); for (Funding funding : existingFundingsSet) { if (funding.isDuplicated(updatedFunding)) { updatedFundingIterator.remove(); break; } } } } }