* @param standardOffset the standard offset, not null
     * @param wallOffset the wall offset, not null
     * @return the date-time relative to the wall/before offset, not null
     */
    public LocalDateTime createDateTime(LocalDateTime dateTime, ZoneOffset standardOffset, ZoneOffset wallOffset) {

      switch (this) {
        case UTC: {
          int difference = wallOffset.getTotalSeconds() - ZoneOffset.UTC.getTotalSeconds();
          return dateTime.plusSeconds(difference);
        }
        case STANDARD: {
          int difference = wallOffset.getTotalSeconds() - standardOffset.getTotalSeconds();
          return dateTime.plusSeconds(difference);
        }
        default : // WALL
          return dateTime;
      }
    }