code: public static IndentingWriter wrap(Appendable delegate, Indentation indentation) {
          return delegate instanceof IndentingWriter
                  ? ((IndentingWriter) delegate).withIndentation(indentation)
                  : new IndentingWriter(delegate, indentation);
      }
docs: Returns an indenting writer around the given <code>delegate</code>.<br>
  If the <code>delegate</code> writer is already an indenting writer, it will simply be returned
  {@link #withIndentation(Indentation) with the specified indentation}.<br>
  If the <code>delegate</code> writer is not yet an indending writer, a new indenting writer class will be created
  to wrap the delegate using the specified <code>indentation</code>.
  
  @param delegate    The delegate to turn into an indenting writer.
  @param indentation The indentation to use for the indenting writer
  (optional, specify <code>null</code> to use the default indentation).
  @return The indenting delegate writer.
  @see Indentation#DEFAULT