private void composeDemos(Index index, ClassLoader cl) throws ClassNotFoundException, NoSuchMethodException, SecurityException {
		List<AnnotationInstance> demoAnnoInstances = index.getAnnotations(DotName.createSimple(org.jboss.demos.Demo.class.getName()));
		for (AnnotationInstance ai: demoAnnoInstances) {
			AnnotationTarget target = ai.target();
			if (target instanceof MethodInfo) {
				MethodInfo m = (MethodInfo) target;
				String methodName = m.name();
				String declaringClassName = m.declaringClass().name().toString();
				List<String> parameterTypes = new ArrayList<String>(m.args().length);
				for (Type type : m.args()) {
					parameterTypes.add(type.toString());
				}
				Class<?> clazz = cl.loadClass(declaringClassName);
				Class<?>[] params = new Class<?>[parameterTypes.size()];
				int i = 0;
				for (String paramClazz : parameterTypes) {
					params[i] = cl.loadClass(paramClazz);
					i ++;
				}
				Method method = clazz.getDeclaredMethod(methodName, params);
				org.jboss.demos.Demo demoAnnotation = method.getAnnotation(org.jboss.demos.Demo.class);
				Demo demo = new Demo();
				demo.name = demoAnnotation.name();
				demo.desp = demoAnnotation.description();
				demo.method = method;
				if (!this.demos.contains(demo)) {
					demos.add(demo);
				}
			}
		}
	}