if (!newStudentCurricularPlan.hasGratuityEvent(getExecutionYear(), GratuityEventWithPaymentPlan.class)) {
correctRegistrationRegime(oldStudentCurricularPlan, newStudentCurricularPlan);
createGratuityEvent(newStudentCurricularPlan);
}
final GratuityEvent firstEvent =
oldStudentCurricularPlan.getGratuityEvent(getExecutionYear(), GratuityEventWithPaymentPlan.class);
final GratuityEvent secondEvent =
newStudentCurricularPlan.getGratuityEvent(getExecutionYear(), GratuityEventWithPaymentPlan.class);
if (!firstEvent.isGratuityEventWithPaymentPlan() || !secondEvent.isGratuityEventWithPaymentPlan()) {
throw new DomainException("error.SeparationCyclesManagement.unexpected.event.types");
}
movePayments((GratuityEventWithPaymentPlan) firstEvent, (GratuityEventWithPaymentPlan) secondEvent);
}