code: public String print(
          ChronoPrinter<T> printer,
          BracketPolicy policy
      ) {
  
          try {
              StringBuilder sb = new StringBuilder(64);
              this.print(printer, '/', printer, policy, InfinityStyle.SYMBOL, sb);
              return sb.toString();
          } catch (IOException ioe) {
              throw new AssertionError(ioe);
          }
  
      }
docs: /*[deutsch]
  <p>Formatiert den Start und das Ende getrennt mit einem Schr&auml;gstrich
  unter Benutzung des angegebenen Formatierers (technisches Format). </p>
  
  <p>Hinweis: Unendliche Intervallgrenzen werden entweder als
  &quot;-&#x221E;&quot; oder &quot;+&#x221E;&quot; ausgegeben.
  Wenn die angegebene {@code BracketPolicy} gleich {@code SHOW_NEVER}
  ist, dann wird die kanonische Form dieses Intervalls ausgegeben.
  Beispiel f&uuml;r eine ISO-&auml;hnliche Darstellung: </p>
  
  <pre>
  DateInterval interval = DateInterval.since(PlainDate.of(2015, 1, 1));
  System.out.println(
  interval.print(
  Iso8601Format.BASIC_CALENDAR_DATE,
  BracketPolicy.SHOW_ALWAYS));
  // output: [20150101/+&#x221E;)
  </pre>
  
  @param   printer     format object for printing start and end
  @param   policy      strategy for printing interval boundaries
  @return  formatted string in format {start}/{end}
  @throws  IllegalStateException if the canonicalization of this interval fails
  @throws  IllegalArgumentException if an interval boundary is not formattable
  @since   2.0