We need to be able to allow the AbstractBlock to be passed from the Ruby side through the Java side. I'm not sure how we can tell the difference between an AbstractBlock created on the Java side and one on the Ruby side. Catching a failed invocation of delegate() made it work, but seems like a large hack.