code: @UserFunction( "apoc.temporal.formatDuration" )
      @Description( "apoc.temporal.formatDuration(input, format) | Format a Duration" )
      public String formatDuration(
              @Name("input") Object input,
              @Name("format") String format
      ) {
          try {
              LocalDateTime midnight = LocalDateTime.of(0, 1, 1, 0, 0, 0, 0);
              LocalDateTime newDuration = midnight.plus( (DurationValue) input );
  
              DateTimeFormatter formatter = getOrCreate(format);
  
              return newDuration.format(formatter);
          } catch (Exception e){
          throw new RuntimeException("Available formats are:\n" +
                  String.join("\n", getTypes()) +
                  "\nSee also: https://www.elastic.co/guide/en/elasticsearch/reference/5.5/mapping-date-format.html#built-in-date-formats " +
                  "and https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html");
          }
      }
docs: Convert a Duration into a LocalTime and format the value as a String
  
  @param input
  @param format
  @return