((Factory)a).newInstance( new Class[]{  String.class, String.class }, new Object[]{"test"}, TEST_INTERCEPTOR );
((Factory)a).newInstance(new Class[]{  String.class, String.class }, new Object[]{"test"}, callbacks);
     public void testArgInit() throws Throwable{             Class f = Enhancer.enhanceClass(ArgInit.class, null, null, (MethodFilter)null );         ArgInit a = (ArgInit)ReflectUtils.newInstance(f,                                                       new Class[]{ String.class },                                                       new Object[]{ "test" });         assertEquals("test", a.toString());          ((Factory)a).interceptor(TEST_INTERCEPTOR);         assertEquals("test", a.toString());         ArgInit b = (ArgInit)((Factory)a).newInstance(new Class[]{ String.class },                                                       new Object[]{ "test2" },                                                       TEST_INTERCEPTOR);         assertEquals("test2", b.toString());         try{                      ((Factory)a).newInstance( new Class[]{  String.class, String.class },                                       new Object[]{"test"}, TEST_INTERCEPTOR );             fail("must throw exception");         }catch( IllegalArgumentException iae ){                  }    }