/**
   * @param driver the web driver to use for the test
   * @param wait the implicit wait value for this run
   * @param waiter handles driver specific waits
   * @return always returns true
   */
  private boolean childNavigationExercise(
      final WebDriver driver, final long wait, final PageWaiter waiter) {
    try {
      driver.manage().timeouts().implicitlyWait(wait, TimeUnit.SECONDS);

      // Matthias
      PersonPage currentPerson = new PersonPage(driver, "I180", null, waiter);
      currentPerson.open();
      assertEquals("Person ID mismatch", "I180", currentPerson.getId());
      assertEquals("Person failed check", "", currentPerson.check());

      // Johann Martin
      currentPerson = currentPerson.navigateChild(1, 1);
      assertEquals("Person ID mismatch", "I3554", currentPerson.getId());
      assertEquals("Person failed check", "", currentPerson.check());

      // Anna Maria
      currentPerson = currentPerson.navigateChild(1, 1);
      assertEquals("Person ID mismatch", "I3881", currentPerson.getId());
      assertEquals("Person failed check", "", currentPerson.check());

      // Go to Maria Berta Faigle
      currentPerson = currentPerson.navigateChild(1, 1);
      assertEquals("Person ID mismatch", "I3891", currentPerson.getId());
      assertEquals("Person failed check", "", currentPerson.check());
    } finally {
      // Close the browser
      driver.quit();
    }
    return true;
  }