throw new InstantiationException();
InstantiationException ex = new InstantiationException(); ex.initCause( e ); throw ex;
  public static Object newInstance(Constructor c, Object args[])    throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {    // TODO check access on ctor    // Get a new instance, uninitialized.    //    VM_Method constructor = java.lang.reflect.JikesRVMSupport.getMethodOf(c);    VM_Class cls = constructor.getDeclaringClass();    if (!cls.isInitialized()) {      try {	VM_Runtime.initializeClassForDynamicLink(cls);      } catch (Throwable e) {	throw new InstantiationException();      }    }    int      size = cls.getInstanceSize();    Object[] tib  = cls.getTypeInformationBlock();    boolean  hasFinalizer = cls.hasFinalizer();    int allocator = VM_Interface.pickAllocator(cls);    Object   obj  = VM_Runtime.resolvedNewScalar(size, tib, hasFinalizer, allocator);    // Run <init> on the instance.    //    Method m = java.lang.reflect.JikesRVMSupport.createMethod(constructor);    // Note that <init> is not overloaded but it is    // not static either: it is called with a "this"    // pointer but not looked up in the TypeInformationBlock.    // See VM_Reflection.invoke().    //    m.invoke(obj, args);    return obj;  }