code: @Deprecated
      public static String splitAndIndent(String str, int indent, int numChars) {
          final int inputLength = str.length();
          // to prevent resizing, we can predict the size of the indented string
          // the formatting addition is the indent spaces plus a newline
          // this length is added once for each line
          boolean perfectFit = (inputLength % numChars == 0);
          int fullLines = (inputLength / numChars);
          int formatLength = perfectFit ?
                  (indent + 1) * fullLines :
                  (indent + 1) * (fullLines + 1);
          int outputLength = inputLength + formatLength;
          
          StringBuilder sb = new StringBuilder(outputLength);
  
          for (int offset = 0; offset < inputLength; offset += numChars) {
              SpaceCharacters.indent(indent, sb);
              sb.append(str, offset, Math.min(offset + numChars,inputLength));
              sb.append('\n');
          }
  
          return sb.toString();
  
      }
docs: Method that attempts to break a string up into lines no longer than the
  specified line length.
  
  <p>The string is assumed to a large chunk of undifferentiated text such
  as base 64 encoded binary data.
  
  @param str
  The input string to be split into lines.
  @param indent
  The number of spaces to insert at the start of each line.
  @param numChars
  The maximum length of each line (not counting the indent spaces).
  @return A string split into multiple indented lines whose length is less
  than the specified length + indent amount.