this.fromApiJsonDeserializer.validateForModify(command.json());
            final Loan existingLoanApplication = retrieveLoanBy(loanId);
            checkClientOrGroupActive(existingLoanApplication);
            if (!existingLoanApplication.isSubmittedAndPendingApproval()) { throw new LoanApplicationNotInSubmittedAndPendingApprovalStateCannotBeModified(
                    loanId); }
            final Set<LoanCharge> existingCharges = existingLoanApplication.charges();
            Map<Long, LoanChargeData> chargesMap = new HashMap<>();
            for (LoanCharge charge : existingCharges) {