code: public DateTime parseDateTime(String text) {
          InternalParser parser = requireParser();
          
          Chronology chrono = selectChronology(null);
          DateTimeParserBucket bucket = new DateTimeParserBucket(0, chrono, iLocale, iPivotYear, iDefaultYear);
          int newPos = parser.parseInto(bucket, text, 0);
          if (newPos >= 0) {
              if (newPos >= text.length()) {
                  long millis = bucket.computeMillis(true, text);
                  if (iOffsetParsed && bucket.getOffsetInteger() != null) {
                      int parsedOffset = bucket.getOffsetInteger();
                      DateTimeZone parsedZone = DateTimeZone.forOffsetMillis(parsedOffset);
                      chrono = chrono.withZone(parsedZone);
                  } else if (bucket.getZone() != null) {
                      chrono = chrono.withZone(bucket.getZone());
                  }
                  DateTime dt = new DateTime(millis, chrono);
                  if (iZone != null) {
                      dt = dt.withZone(iZone);
                  }
                  return dt;
              }
          } else {
              newPos = ~newPos;
          }
          throw new IllegalArgumentException(FormatUtils.createErrorMessage(text, newPos));
      }
docs: Parses a date-time from the given text, returning a new DateTime.
  <p>
  The parse will use the zone and chronology specified on this formatter.
  <p>
  If the text contains a time zone string then that will be taken into
  account in adjusting the time of day as follows.
  If the {@link #withOffsetParsed()} has been called, then the resulting
  DateTime will have a fixed offset based on the parsed time zone.
  Otherwise the resulting DateTime will have the zone of this formatter,
  but the parsed zone may have caused the time to be adjusted.
  
  @param text  the text to parse, not null
  @return the parsed date-time, never null
  @throws UnsupportedOperationException if parsing is not supported
  @throws IllegalArgumentException if the text to parse is invalid