class Configuration {

  public Long getExecutionSchedulerWait() {

    String stringValue = getProperty(EXECUTION_SCHEDULER_WAIT);
    Long sleepTime = EXECUTION_SCHEDULER_WAIT.getDefaultValue();
    if (stringValue != null) {
      try {
        sleepTime = Long.valueOf(stringValue);
      } catch (NumberFormatException ignored) {
        LOG.warn("Value of {} ({}) should be a number, " +
            "falling back to default value ({})", EXECUTION_SCHEDULER_WAIT.getKey(), stringValue,
            EXECUTION_SCHEDULER_WAIT.getDefaultValue());
      }

    }

    if (sleepTime > 60) {
      LOG.warn("Value of {} ({}) should be a number between 1 adn 60, " +
          "falling back to maximum value ({})",
          EXECUTION_SCHEDULER_WAIT, sleepTime, 60);
      sleepTime = 60L;
    }
    return sleepTime*1000;
  }

  public  Configuration();
  public  Configuration(Properties properties);

}