public Klass arrayKlassImpl(boolean orNull, int n) {
   // FIXME: in reflective system this would need to change to
   // actually allocate
   if (getArrayKlasses() == null) {
     return null;
   }
   ObjArrayKlass oak = (ObjArrayKlass) getArrayKlasses();
   if (orNull) {
     return oak.arrayKlassOrNull(n);
   }
   return oak.arrayKlass(n);
 }
 public Klass arrayKlassImpl(boolean orNull, int n) {
   int dimension = (int) getDimension();
   if (Assert.ASSERTS_ENABLED) {
     Assert.that(dimension <= n, "check order of chain");
   }
   if (dimension == n) return this;
   ObjArrayKlass ak = (ObjArrayKlass) getHigherDimension();
   if (ak == null) {
     if (orNull) return null;
     // FIXME: would need to change in reflective system to actually
     // allocate klass
     throw new RuntimeException("Can not allocate array klasses in debugging system");
   }
   if (orNull) {
     return ak.arrayKlassOrNull(n);
   }
   return ak.arrayKlass(n);
 }