code: public PeriodFormatter toFormatter() {
          PeriodFormatter formatter = toFormatter(iElementPairs, iNotPrinter, iNotParser);
          for (FieldFormatter fieldFormatter : iFieldFormatters) {
              if (fieldFormatter != null) {
                  fieldFormatter.finish(iFieldFormatters);
              }
          }
          iFieldFormatters = (FieldFormatter[]) iFieldFormatters.clone();
          return formatter;
      }
docs: Constructs a PeriodFormatter using all the appended elements.
  <p>
  This is the main method used by applications at the end of the build
  process to create a usable formatter.
  <p>
  Once this method has been called, the builder is in an invalid state.
  <p>
  The returned formatter may not support both printing and parsing.
  The methods {@link PeriodFormatter#isPrinter()} and
  {@link PeriodFormatter#isParser()} will help you determine the state
  of the formatter.
  
  @return the newly created formatter
  @throws IllegalStateException if the builder can produce neither a printer nor a parser