Java Delegate Implementation