public void byMethod(Closure<?> closure) throws Exception {
Map<String, Handler> handlers = new LinkedHashMap<>(2);
ByMethodSpec delegate = new DefaultByMethodSpec(handlers);
GroovyByMethodSpec spec = new DefaultGroovyByMethodSpec(delegate);
ClosureUtil.configureDelegateFirst(spec, closure);
new MultiMethodHandler(handlers).handle(this);
}