this.classForType = createClassForType(this, typeRef);
this.classForType = classForType;
  protected VM_Type(VM_TypeReference typeRef,                    int dimension,                    VM_Annotation runtimeVisibleAnnotations[],                    VM_Annotation runtimeInvisibleAnnotations[])  {    super(runtimeVisibleAnnotations, runtimeInvisibleAnnotations);    this.typeRef = typeRef;    this.tibOffset = VM_Statics.allocateReferenceSlot().toInt();    this.id = nextId(this);    this.classForType = createClassForType(this, typeRef);    this.dimension = dimension;    // install partial type information block (no method dispatch table)     // for use in type checking.    //    if (VM.VerifyAssertions) VM._assert(VM_TIBLayoutConstants.TIB_TYPE_INDEX == 0);    Object[] tib = new Object[1];    tib[0] = this;    VM_Statics.setSlotContents(getTibOffset(), tib);  }