/** * Looks for a class called 'groovy.runtime.metaclass.CustomMetaClassCreationHandle' and if it * exists uses it as the MetaClassCreationHandle otherwise uses the default * * @see groovy.lang.MetaClassRegistry.MetaClassCreationHandle */ private void installMetaClassCreationHandle() { try { final Class customMetaClassHandle = Class.forName("groovy.runtime.metaclass.CustomMetaClassCreationHandle"); final Constructor customMetaClassHandleConstructor = customMetaClassHandle.getConstructor(new Class[] {}); this.metaClassCreationHandle = (MetaClassCreationHandle) customMetaClassHandleConstructor.newInstance(); } catch (final ClassNotFoundException e) { this.metaClassCreationHandle = new MetaClassCreationHandle(); } catch (final Exception e) { throw new GroovyRuntimeException( "Could not instantiate custom Metaclass creation handle: " + e, e); } }