@SuppressWarnings("rawtypes")
	private void runDemo(String demoKey) {
		
		Class demo = this.demos.get(demoKey);
		Method mainMethod = null;
		
		for(Method method: demo.getMethods()) {
			if(method.getName().equals("main")) {
				mainMethod = method;
				break;
			}
		}
		
		System.out.println("Running " + demo.getName());
		
		if(mainMethod != null) {
		
			String[] params = new String[1];
			
			try {
				mainMethod.invoke(null, (Object[])params);
			} catch (IllegalArgumentException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (InvocationTargetException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		} else {
			System.out.println("Error running demo " + demoKey + " can't find main.");
		}
		
	}