@SuppressWarnings("PMD.SignatureDeclareThrowsException")
  // one of the dependent methods throws Exception
  public void editExistingLoanProduct() throws Exception {
    initRemote.dataLoadAndCacheRefresh(
        dbUnitUtilities, "acceptance_small_001_dbunit.xml", dataSource, selenium);
    ViewLoanProductsPage viewLoanProducts = loginAndNavigateToViewLoanProductsPage();
    LoanProductDetailsPage loanProductDetailsPage =
        viewLoanProducts.viewLoanProductDetails("FlatInterestLoanProduct1");
    EditLoanProductPage editLoanProductPage = loanProductDetailsPage.editLoanProduct();
    editLoanProductPage.verifyPage();
    SubmitFormParameters formParameters = new SubmitFormParameters();
    formParameters.setDescription("Modified Description");
    formParameters.setMaxInterestRate("44");
    formParameters.setMinInterestRate("3");
    formParameters.setDefaultInterestRate("18");

    EditLoanProductPreviewPage editLoanProductPreviewPage =
        editLoanProductPage.submitDescriptionAndInterestChanges(formParameters);
    loanProductDetailsPage = editLoanProductPreviewPage.submit();
    loanProductDetailsPage.verifyPage();
    loanProductDetailsPage.editLoanProduct();
    editLoanProductPage.verifyPage();
    editLoanProductPage.verifyModifiedDescriptionAndInterest(formParameters);
  }