Backported to JDK6.

In order for project to get a wider reach it should support as much JDKs
as possible. Chose JDK6 because it has annotation processing integrated
into javac.

Refs #1