Included support for custom annotation processing.

Included support for custom annotation processing.
public/package class or a inner private static class?