code: public PeriodFormatterBuilder appendSeparator(String text, String finalText,
                                                    String[] variants) {
          return appendSeparator(text, finalText, variants, true, true);
      }
docs: Append a separator, which is output if fields are printed both before
  and after the separator.
  <p>
  This method changes the separator depending on whether it is the last separator
  to be output.
  <p>
  For example, <code>builder.appendDays().appendSeparator(",", "&").appendHours().appendSeparator(",", "&").appendMinutes()</code>
  will output '1,2&3' if all three fields are output, '1&2' if two fields are output
  and '1' if just one field is output.
  <p>
  The text will be parsed case-insensitively.
  <p>
  Note: appending a separator discontinues any further work on the latest
  appended field.
  
  @param text  the text to use as a separator
  @param finalText  the text used used if this is the final separator to be printed
  @param variants  set of text values which are also acceptable when parsed
  @return this PeriodFormatterBuilder
  @throws IllegalStateException if this separator follows a previous one