docs: @Override
      public Object apply(Object value, Object... params) {
  
          try {
              final Long seconds;
  
              if(super.asString(value).equals("now")) {
                  seconds = System.currentTimeMillis() / 1000L;
              }
              else if(super.isNumber(value)) {
                  // No need to divide this by 1000, the param is expected to be in seconds already!
                  seconds = super.asNumber(value).longValue();
              }
              else {
                  seconds = trySeconds(super.asString(value)); // formatter.parse(super.asString(value)).getTime() / 1000L;
  
                  if(seconds == null) {
                      return value;
                  }
              }
  
              final java.util.Date date = new java.util.Date(seconds * 1000L);
              final String format = super.asString(super.get(0, params));
  
              if(format == null || format.trim().isEmpty()) {
                  return value;
              }
  
              final java.util.Calendar calendar = java.util.Calendar.getInstance();
              calendar.setTime(date);
  
              StringBuilder builder = new StringBuilder();
  
              for (int i = 0; i < format.length(); i++) {
  
                  char ch = format.charAt(i);
  
                  if (ch == '%') {
  
                      i++;
  
                      if (i == format.length()) {
                          // a trailing (single) '%' sign: just append it
                          builder.append("%");
                          break;
                      }
  
                      char next = format.charAt(i);
  
                      SimpleDateFormat javaFormat = LIQUID_TO_JAVA_FORMAT.get(next);
  
                      if (javaFormat == null) {
                          // no valid date-format: append the '%' and the 'next'-char
                          builder.append("%").append(next);
                      }
                      else {
                          builder.append(javaFormat.format(date));
                      }
                  }
                  else {
                      builder.append(ch);
                  }
              }
  
              return builder.toString();
          }
          catch (Exception e) {
              return value;
          }
      }