/** * Create an instance of this type of annotation with the values given in the members * * @return the created annotation */ private Annotation createValue() { // Find the annotation then find its implementing class final RVMClass annotationInterface = type.resolve().asClass(); annotationInterface.resolve(); Class<?> interfaceClass = annotationInterface.getClassForType(); ClassLoader classLoader = interfaceClass.getClassLoader(); if (classLoader == null) { classLoader = BootstrapClassLoader.getBootstrapClassLoader(); } return (Annotation) Proxy.newProxyInstance(classLoader, new Class[] {interfaceClass}, new AnnotationFactory()); }