Annotation processing revision

Merging latest developments of annotation processing.