In addition to processing an annotation using an annotation processor, a Java programmer can write their own code that uses reflections to process the annotation. Java SE 5 supports a new interface that is defined in the codice_25 package. This package contains the interface called codice_26 that is implemented by the Java reflection classes including codice_27, codice_28, codice_29, codice_30, and codice_31. The implementations of this interface are used to represent an annotated element of the program currently running in the Java Virtual Machine. This interface allows annotations to be read reflectively.