code: def create_from_template(obj)
        if Annotation::Proxy === obj then
          hook = obj.hook
          if hook.identifier.nil? then
            raise CaRuby::DatabaseError.new("Annotation proxy #{obj.qp} hook owner #{hook.qp} does not have an identifier")
          end
          obj.identifier = hook.identifier
          obj.take_snapshot
          logger.debug { "Marked annotation proxy #{obj} as created by setting the identifier to that of the hook owner #{hook}." }
          logger.debug { "Creating annotation proxy #{obj} dependent primary annotations..." }
          save_changed_dependents(obj)
          persistify(obj)
          obj
        else
          super
        end
      end
docs: Overrides +CaRuby::Database.create_from_template+ as follows:
   * Surrogate {Annotation::Proxy} is "created" by setting the identifier to its hook owner.
     The create operation then creates referenced uncreated dependents.
  
   @param (CaRuby::Database#create_from_template)