http://zeroturnaround.com/labs/the-adventurous-developers-guide-to-jvm-languages-xtend/