code: private static DateTimes.UtcFormatter createDefaultParser(final DateTimeZone timeZone)
    {
      final DateTimeFormatter offsetElement = new DateTimeFormatterBuilder()
          .appendTimeZoneOffset("Z", true, 2, 4)
          .toFormatter();
  
      DateTimeParser timeOrOffset = new DateTimeFormatterBuilder()
          .append(
              null,
              new DateTimeParser[]{
                  new DateTimeFormatterBuilder().appendLiteral('T').toParser(),
                  new DateTimeFormatterBuilder().appendLiteral(' ').toParser()
              }
          )
          .appendOptional(ISODateTimeFormat.timeElementParser().getParser())
          .appendOptional(offsetElement.getParser())
          .toParser();
  
      return DateTimes.wrapFormatter(
          new DateTimeFormatterBuilder()
              .append(ISODateTimeFormat.dateElementParser())
              .appendOptional(timeOrOffset)
              .toFormatter()
              .withZone(timeZone)
      );
    }
docs: Default formatter that parses according to the docs for this method: "If the pattern is not provided, this parses
  time strings in either ISO8601 or SQL format."