@Override
  public IValidationResponse validate(Map<String, Object> validationParameters) {
    IValidationResponse validationResponse = super.validate(validationParameters);
    String query = (String) validationParameters.get(IConstants.QUERY);

    HtmlPage htmlPage = (HtmlPage) validationParameters.get(IConstants.RESPONSE_OBJECT);
    StringBuffer actualResponseBuffer = validationResponse.getActualResponseAsBuffer();
    String actualResponse = actualResponseBuffer.toString();
    HTMLScraper.scrapeOut(validationParameters);
    if (null == actualResponseBuffer
        || (null != actualResponseBuffer && actualResponseBuffer.toString().trim().length() < 10)) {
      validationResponse.setIsSuccessful(false);
      validationResponse.setFailReason("Empty page, may be site down/connxn error!");
      return validationResponse;
    }

    if (validationResponse.isSuccesful()) // DD present
    {
      return validateQPDispatchPlan(validationResponse, validationParameters);
    } else // DD Not present
    {
      if (!actualResponse.contains("Autovi")) // QP Didnt trigger
      {
        validationResponse.setIsSuccessful(false);
        validationResponse.setFailReason("QP Didn't trigger");
      } else // QP Triggered, but no DD
      {
        validationResponse.setFailReason("BE Didn't return results");
        validationResponse = validateQPDispatchPlan(validationResponse, validationParameters);
      }
    }
    return validationResponse;
  }