Upstream changes from groovy_dev