code: def create_proxy_attribute(mod, proxy)
        # the proxy attribute symbol
        pa = mod.name.demodulize.underscore.to_sym
        # Define the proxy attribute.
        attr_create_on_demand_accessor(pa) { Set.new }
        # Register the attribute.
        add_attribute(pa, proxy, :collection, :saved, :nosync)
        # the annotation module => proxy attribute association
        @ann_mod_pxy_hash ||= {}
        @ann_mod_pxy_hash[mod] = pa
        # The proxy is a logical dependent.
        add_dependent_attribute(pa, :logical)
        logger.debug { "Created #{qp} #{mod.qp} annotation proxy logical dependent reference attribute #{pa} to #{proxy}." }
        pa
      end
docs: Makes an attribute whose name is the demodulized underscored given module name.
   The attribute reader creates an {Annotation::Proxy} instance of the method
   receiver {Annotatable} instance on demand.
  
   @param [AnnotationModule] mod the subject annotation
   @return [ProxyClass] proxy the proxy class