public AsciiString concat(CharSequence string) {
        int thisLen = length();
        int thatLen = string.length();
        if (thatLen == 0) {
            return this;
        }

        if (string.getClass() == AsciiString.class) {
            AsciiString that = (AsciiString) string;
            if (isEmpty()) {
                return that;
            }

            byte[] newValue = PlatformDependent.allocateUninitializedArray(thisLen + thatLen);
            System.arraycopy(value, arrayOffset(), newValue, 0, thisLen);
            System.arraycopy(that.value, that.arrayOffset(), newValue, thisLen, thatLen);
            return new AsciiString(newValue, false);
        }

        if (isEmpty()) {
            return new AsciiString(string);
        }

        byte[] newValue = PlatformDependent.allocateUninitializedArray(thisLen + thatLen);
        System.arraycopy(value, arrayOffset(), newValue, 0, thisLen);
        for (int i = thisLen, j = 0; i < newValue.length; i++, j++) {
            newValue[i] = c2b(string.charAt(j));
        }

        return new AsciiString(newValue, false);
    }
public AsciiString concat ( CharSequence string ) { int thisLen = length ( ) ; int thatLen = string . length ( ) ; if ( thatLen == 0 ) { return this ; } if ( string . getClass ( ) == AsciiString . class ) { AsciiString that = ( AsciiString ) string ; if ( isEmpty ( ) ) { return that ; } byte [ ] newValue = PlatformDependent . allocateUninitializedArray ( thisLen + thatLen ) ; System . arraycopy ( value , arrayOffset ( ) , newValue , 0 , thisLen ) ; System . arraycopy ( that . value , that . arrayOffset ( ) , newValue , thisLen , thatLen ) ; return new AsciiString ( newValue , false ) ; } if ( isEmpty ( ) ) { return new AsciiString ( string ) ; } byte [ ] newValue = PlatformDependent . allocateUninitializedArray ( thisLen + thatLen ) ; System . arraycopy ( value , arrayOffset ( ) , newValue , 0 , thisLen ) ; for ( int i = thisLen , j = 0 ; i < newValue . length ; i ++ , j ++ ) { newValue [ i ] = c2b ( string . charAt ( j ) ) ; } return new AsciiString ( newValue , false ) ; }
Concatenates this string and the specified string.

@param string the string to concatenate
@return a new string which is the concatenation of this string and the specified string.