I'd like some feedback on how I've implemented JMS destination injection. For reference see the design notes at http://sfwk.org/Seam3/JMSModule.
Generic destination injection is realized by decorating the AnnotatedTypes which define any transitive annotations of @JmsDestination. The annotations are replaced with the defined @JmsDestination and a simple pair of producer methods handle their production (http://github.com/jganoff/seam3-jms/blob/master/src/main/java/org/jboss/seam/jms/impl/inject/DestinationProducer.java). Although this works it removes the annotations. I'd much prefer another solution which leaves all annotations intact and somehow provides producers for each (if not already defined).
Any thoughts on the matter would be greatly appreciated. Am I correct in assuming the original annotations should be preserved?