code: @SuppressWarnings("unused")
  	private void groovyLabCode(Map<String, Object> model) {
          try {
  
          	groovy.lang.Binding binding = new Binding();
  			binding.setVariable("first", "HELLO");
          	binding.setVariable("second", "world");
  
          	groovy.lang.GroovyShell groovyShell = new GroovyShell(getClass().getClassLoader(), binding);
  			System.out.println(groovyShell.evaluate("(1..20).sum()"));
  
  			System.out.println(groovyShell.evaluate("first.toLowerCase() + second.toUpperCase()"));
          	
          	ScriptEngineManager factory = new ScriptEngineManager();
  			ScriptEngine engine = factory.getEngineByName("groovy");
  
  			// basic example
  			System.out.println(engine.eval("(1..10).sum()"));
  
  			// example showing scripting variables
  			engine.put("first", "HELLO");
  			engine.put("second", "world");
  			for (String name : model.keySet()) {
  				engine.put(name, model.get(name));
  			}
  			System.out.println(engine.eval("first.toLowerCase() + second.toUpperCase()"));
  			System.out.println(engine.eval("componentType + ':' + componentName + ':' + folderName"));
  			
  		} catch (ScriptException e) {
  			// TODO Auto-generated catch block
  			e.printStackTrace();
  			throw new RuntimeException(e);
  		}
  	}
docs: /*
  LAB CODE
  Inactive but maybe good to have in the future...