code: 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);
      }
docs: 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.