code: public StrBuilder append(final StringBuilder str, final int startIndex, final int length) {
          if (str == null) {
              return appendNull();
          }
          if (startIndex < 0 || startIndex > str.length()) {
              throw new StringIndexOutOfBoundsException("startIndex must be valid");
          }
          if (length < 0 || (startIndex + length) > str.length()) {
              throw new StringIndexOutOfBoundsException("length must be valid");
          }
          if (length > 0) {
              final int len = length();
              ensureCapacity(len + length);
              str.getChars(startIndex, startIndex + length, buffer, len);
              size += length;
          }
          return this;
      }
docs: Appends part of a StringBuilder to this string builder.
  Appending null will call {@link #appendNull()}.
  
  @param str the StringBuilder to append
  @param startIndex the start index, inclusive, must be valid
  @param length the length to append, must be valid
  @return this, to enable chaining
  @since 3.2