@Override
  protected void validatePageInitialState() {
    logger.info(
        "validating page initial state for: <{}>, name:<{}>...", getQualifier(), getLogicalName());

    String REASON = "Validate that comparison is among/between " + compareShipsCount + " ships";
    String ACTUAL_RESULT_STR = findContentBlockDiv().getAttribute("class");
    Matcher<String> EXPECTED_OF_STR =
        JMatchers.endsWith(String.format("comparing-%d", compareShipsCount));
    getDriver().assertThat(REASON, ACTUAL_RESULT_STR, EXPECTED_OF_STR);

    REASON = "Validate Legend keys";
    ACTUAL_RESULT_STR = findLegendDiv().getAttribute("textContent").trim();
    EXPECTED_OF_STR =
        JMatchers.allOf(
            JMatchers.containsString("Key:"),
            JMatchers.containsString("Available"),
            JMatchers.containsString("| Not Available"));
    getDriver().assertThat(REASON, ACTUAL_RESULT_STR, EXPECTED_OF_STR);

    List<HtmlElement> images = findLegendImages();
    REASON = "Validate Legend Image Available";
    ACTUAL_RESULT_STR = images.get(0).getAttribute("class");
    EXPECTED_OF_STR = JMatchers.is("availableIcon");
    getDriver().assertThat(REASON, ACTUAL_RESULT_STR, EXPECTED_OF_STR);

    REASON = "Validate Legend Image Not Available";
    ACTUAL_RESULT_STR = images.get(1).getAttribute("class");
    EXPECTED_OF_STR = JMatchers.is("notAvailableIcon");
    getDriver().assertThat(REASON, ACTUAL_RESULT_STR, EXPECTED_OF_STR);
  }