code: public Type elemtype(Type t) {
          switch (t.getTag()) {
          case WILDCARD:
              return elemtype(wildUpperBound(t));
          case ARRAY:
              t = t.unannotatedType();
              return ((ArrayType)t).elemtype;
          case FORALL:
              return elemtype(((ForAll)t).qtype);
          case ERROR:
              return t;
          default:
              return null;
          }
      }
docs: The element type of an array.