1. A method for processing a data stream comprising: receiving a data stream input at a scanner component, the data stream input representing a plurality of program elements; and scanning the data stream input for annotations of the program elements, the scanning of the data stream input including: encountering a data type description for a Java class type, informing a handler component regarding the data type description, determining whether to process program elements within the class type, the determination being based at least in part on any messages received from the handler component indicating that the class type is not of interest, scanning the program elements within the class type to identify annotated program elements and annotation values of the identified annotated program elements based on the determination to process the program elements within the class type, and skipping the program elements within the class type and annotation values of the program elements within the class type based on the determination not to process the program elements within the class type.