@Override
  public boolean validateAndStartPatchRun() {
    
    //Warn about hash differences
    boolean lCanRun = validatePatchRun(getDatabaseConnection().getLoggingConnection());
    String lHashDifference = getPatchScript().getPatchFileHash().equals(mPreviousHash) ? "" : " - PREVIOUS HASH DIFFERENT";
    
    if(lCanRun){
      mScriptRunner.addNoExecPatchLog(getPatchScript(), true, isRerun() ? "Re-run; see below" + lHashDifference : "Full run");      
      //Allow patch to "run" so individual statements are executed
      return true;
    }
    else {
      mScriptRunner.addNoExecPatchLog(getPatchScript(), false, "Already run" + lHashDifference);
      //Do not allow patch to "run" as no statements will be executed
      return false;
    }    
  }