code: @Override
      public List<String> getPossibleOutput() {
          List<String> result = new ArrayList<>();
          // As parsed
          result.add("TIME.DAY:day");
          result.add("TIME.MONTHNAME:monthname");
          result.add("TIME.MONTH:month");
          result.add("TIME.WEEK:weekofweekyear");
          result.add("TIME.YEAR:weekyear");
          result.add("TIME.YEAR:year");
          result.add("TIME.HOUR:hour");
          result.add("TIME.MINUTE:minute");
          result.add("TIME.SECOND:second");
          result.add("TIME.MILLISECOND:millisecond");
          result.add("TIME.MICROSECOND:microsecond");
          result.add("TIME.NANOSECOND:nanosecond");
  
          result.add("TIME.DATE:date"); // yyyy-MM-dd
          result.add("TIME.TIME:time"); // HH:mm:ss
  
          // Timezone independent
          result.add("TIME.ZONE:timezone");
          result.add("TIME.EPOCH:epoch");
  
          // In UTC timezone
          result.add("TIME.DAY:day_utc");
          result.add("TIME.MONTHNAME:monthname_utc");
          result.add("TIME.MONTH:month_utc");
          result.add("TIME.WEEK:weekofweekyear_utc");
          result.add("TIME.YEAR:weekyear_utc");
          result.add("TIME.YEAR:year_utc");
          result.add("TIME.HOUR:hour_utc");
          result.add("TIME.MINUTE:minute_utc");
          result.add("TIME.SECOND:second_utc");
          result.add("TIME.MILLISECOND:millisecond_utc");
          result.add("TIME.MICROSECOND:microsecond_utc");
          result.add("TIME.NANOSECOND:nanosecond_utc");
  
          result.add("TIME.DATE:date_utc"); // yyyy-MM-dd
          result.add("TIME.TIME:time_utc"); // HH:mm:ss
  
          return result;
      }
docs: --------------------------------------------