String (String str) { if (str.count == 0) return this; if (count == 0) return str; char[] newStr = new char[count + str.count]; VMSystem.arraycopy(value, offset, newStr, 0, count); VMSystem.arraycopy(str.value, str.offset, newStr, count, str.count); // Package constructor avoids an array copy. return new String(newStr, 0, newStr.length, true); }