public Condition build(String script) throws IllegalAccessException,
CompileException, ParseException, ScanException, InstantiationException,
SecurityException, NoSuchMethodException, IllegalArgumentException,
InvocationTargetException {
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.setImplementedTypes(new Class[] { Condition.class });
cbe.setExtendedType(MapWrapperForScripts.class);
cbe.cook(SCRIPT_PREFIX + script + SCRIPT_SUFFIX);
Class<?> clazz = cbe.getClazz();
Condition instance = (Condition) clazz.newInstance();
Method setMapMethod = clazz.getMethod("setMap", Map.class);
setMapMethod.invoke(instance, context.getCopyOfPropertyMap());
Method setNameMethod = clazz.getMethod("setName", String.class);