new Class[]{java.util.List.class},interceptor );
null,interceptor );
   public void testMethods()throws Throwable{              MethodInterceptor interceptor =        new NoOpInterceptor(){                        public Object afterReturn(  Object obj, Method method,            Object args[],            boolean invokedSuper, Object retValFromSuper,            java.lang.Throwable e )throws java.lang.Throwable{                int mod =  method.getModifiers();                                if( Modifier.isProtected( mod ) ){                 invokedProtectedMethod = true;                }                               if( Modifier.isAbstract( mod ) ){                   invokedAbstractMethod = true;                }                                                if( ! ( Modifier.isProtected( mod ) || Modifier.isPublic( mod ) )){                   invokedPackageMethod = true;                }                         return retValFromSuper;//return the same as supper            }                    };                   Source source =  (Source)Enhancer.enhance(        Source.class,        new Class[]{java.util.List.class},interceptor );                source.callAll();        assertTrue("protected", invokedProtectedMethod );        assertTrue("package", invokedPackageMethod );        assertTrue("abstract", invokedAbstractMethod );   }