java.util.Vector vector2  = (java.util.Vector)Enhancer.enhance( java.util.Vector.class, new Class[]{java.util.List.class},interceptor );
    public void testEnhance()throws Throwable{                 MethodInterceptor interceptor =         new MethodInterceptor(){                                                public boolean invokeSuper( Object obj,java.lang.reflect.Method method,            Object args[] )            throws java.lang.Throwable{                return true;            }                                public Object afterReturn(  Object obj,     java.lang.reflect.Method method,        Object args[],          boolean invokedSuper, Object retValFromSuper,        java.lang.Throwable e )throws java.lang.Throwable{            assertTrue("Pure method " + method,invokedSuper);            return retValFromSuper;//return the same as supper        }            };                java.util.Vector vector = (java.util.Vector)Enhancer.enhance(                             java.util.Vector.class,                             new Class[]{java.util.List.class},interceptor );                          java.util.Vector vector2  = (java.util.Vector)Enhancer.enhance(                             java.util.Vector.class,                             new Class[]{java.util.List.class},interceptor );                                  assertTrue("Cache failed",vector.getClass() == vector2.getClass());     //TODO : Add meanigful asserts        String value = "VALUE";    vector.add(null);        vector.elements();    vector.size();    vector.add(value);    vector.remove(value);    vector.remove(value);    vector.contains(value);    vector.get(0);    vector.contains(value);    vector.toArray(new Object[]{});        }