question: @ Pure public Atom annotationInterfaceToAnnotationClass ( ) { byte [ ] annotationClassName_tmp = new byte [ val . length + 2 ] ; System . arraycopy ( val , 0 , annotationClassName_tmp , 0 , val . length - 1 ) ; annotationClassName_tmp [ val . length - 1 ] = '$' ; annotationClassName_tmp [ val . length ] = '$' ; annotationClassName_tmp [ val . length + 1 ] = ';' ; return Atom . findOrCreateUtf8Atom ( annotationClassName_tmp ) ; }
target:  Creates an annotation name from a class name. For example Lfoo.bar; becomes Lfoo.bar$$; NB in Sun VMs the annotation name of the first annotation is $Proxy1. Classpath may later rely on this to implement serialization correctly.