public final TextBuilder append(char chars[],int offset,int length){
  final int end=offset + length;
  if ((offset < 0) || (length < 0) || (end > chars.length))   throw new IndexOutOfBoundsException();
  int newLength=_length + length;
  while (_capacity < newLength) {
    increaseCapacity();
  }
  for (int i=offset, j=_length; i < end; ) {
    char[] dstChars=_high[j >> B1];
    int dstBegin=j & M1;
    int inc=MathLib.min(C1 - dstBegin,end - i);
    System.arraycopy(chars,i,dstChars,dstBegin,inc);
    i+=inc;
    j+=inc;
  }
  _length=newLength;
  return this;
}

public final TextBuilder append ( char chars [ ] , int offset , int length ) { final int end = offset + length ; if ( ( offset < 0 ) || ( length < 0 ) || ( end > chars . length ) ) throw new IndexOutOfBoundsException ( ) ; int newLength = _length + length ; while ( _capacity < newLength ) { increaseCapacity ( ) ; } for ( int i = offset , j = _length ; i < end ; ) { char [ ] dstChars = _high [ j > > B1 ] ; int dstBegin = j & M1 ; int inc = MathLib . min ( C1 - dstBegin , end - i ) ; System . arraycopy ( chars , i , dstChars , dstBegin , inc ) ; i += inc ; j += inc ; } _length = newLength ; return this ; }
appends the characters from a subarray of the char array argument .
