ClsElementImpl () { int depth = getArrayDepth(); int bracketPos = myTypeText.length() - depth * 2 - (isVarArgs() ? 1 : 0); TypeAnnotationContainer container = myAnnotations; for (int i = 0; i < depth; i++) { container = container.forArrayElement(); } return new ClsTypeElementImpl(this, myTypeText.substring(0, bracketPos), myVariance, container); }