public char[] genericTypeSignature() { if (this.genericTypeSignature == null) { char[] brackets = new char[dimensions]; for (int i = dimensions - 1; i >= 0; i--) brackets[i] = '['; this.genericTypeSignature = CharOperation.concat(brackets, leafComponentType.genericTypeSignature()); } return this.genericTypeSignature; }