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
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
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)