@Override
  public boolean validateAndStartFilePromote(PromotionFile pPromotionFile) {
    
    FilePromoteStatus lFilePromoteStatus = getFilePromoteStatus(pPromotionFile, getDatabaseConnection().getLoggingConnection());
    
    String lHashDifference = lFilePromoteStatus.mPreviousHash.equals(pPromotionFile.getFileHash()) ? "" : " - PREVIOUS HASH DIFFERENT";
    
    if(!lFilePromoteStatus.mIsPromoteAllowed){      
      mScriptRunner.addNoExecFileLog(pPromotionFile, false, "Already promoted" + lHashDifference);
    }
    else {
      mScriptRunner.addNoExecFileLog(pPromotionFile, true, lFilePromoteStatus.mIsRerun ? "Re-promotion" + lHashDifference : "Initial promotion");
    }
    return false;
  }