/**
   * Adds check for accountingLine updates, generates and dispatches any events caused by such
   * updates
   *
   * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping,
   *     org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest,
   *     javax.servlet.http.HttpServletResponse)
   */
  @Override
  public ActionForward execute(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {
    KualiAccountingDocumentFormBase transForm = (KualiAccountingDocumentFormBase) form;

    // handle changes to accountingLines
    if (transForm.hasDocumentId()) {
      AccountingDocument financialDocument = (AccountingDocument) transForm.getDocument();

      processAccountingLines(financialDocument, transForm, KFSConstants.SOURCE);
      processAccountingLines(financialDocument, transForm, KFSConstants.TARGET);
    }

    // This is after a potential handleUpdate(), to display automatically cleared overrides
    // following a route or save.
    processAccountingLineOverrides(transForm);

    // proceed as usual
    ActionForward result = super.execute(mapping, form, request, response);
    return result;
  }
  /** @param transForm */
  protected void processAccountingLineOverrides(KualiAccountingDocumentFormBase transForm) {
    processAccountingLineOverrides(transForm.getNewSourceLine());
    processAccountingLineOverrides(transForm.getNewTargetLine());
    if (transForm.hasDocumentId()) {
      AccountingDocument financialDocument = (AccountingDocument) transForm.getDocument();

      processAccountingLineOverrides(
          financialDocument, financialDocument.getSourceAccountingLines());
      processAccountingLineOverrides(
          financialDocument, financialDocument.getTargetAccountingLines());
    }
  }