In last month's installment, I showed examples of using domain-specific languages (DSLs) to harvest idiomatic patterns. Internal DSLs are possible but cumbersome in the Java language because of its restrictive syntax. This article covers some of the capabilities you can exploit and issues you'll encounter when using Groovy to build internal DSLs.