code: public DateTimeBuilder resolve(ResolverStyle resolverStyle, Set<TemporalField> resolverFields) {
          if (resolverFields != null) {
              fieldValues.keySet().retainAll(resolverFields);
          }
          // handle standard fields
          mergeInstantFields();
          mergeDate(resolverStyle);
          mergeTime(resolverStyle);
          if (resolveFields(resolverStyle)) {
              mergeInstantFields();
              mergeDate(resolverStyle);
              mergeTime(resolverStyle);
          }
          resolveTimeInferZeroes(resolverStyle);
          crossCheck();
          if (excessDays != null && excessDays.isZero() == false && date != null && time != null) {
              date = date.plus(excessDays);
              excessDays = Period.ZERO;
          }
          resolveFractional();
          resolveInstant();
          return this;
      }
docs: Resolves the builder, evaluating the date and time.
  <p>
  This examines the contents of the builder and resolves it to produce the best
  available date and time, throwing an exception if a problem occurs.
  Calling this method changes the state of the builder.
  
  @param resolverStyle how to resolve
  @return {@code this}, for method chaining