def create_annotation(hook, annotation)
      # validate the arguments
      if hook.nil? then raise ArgumentError.new("Annotated caTissue object is missing") end
      if annotation.nil? then raise ArgumentError.new("Annotation caTissue object is missing") end
      # the annotated object must exist in the database
      unless hook.identifier then
        raise AnnotationError.new("Annotation writer does not support annotation of a caTissue object without an identifier: #{hook}")
      end
      # load the caRuby annotations if necessary
      hook.class.ensure_annotations_loaded
      # set the annotation hook reference
      annotation.hook = hook
      # create the annotation in the database
      annotation.create
    end
def create_annotation(hook, annotation)
      # validate the arguments
      if hook.nil? then raise ArgumentError.new("Annotated caTissue object is missing") end
      if annotation.nil? then raise ArgumentError.new("Annotation caTissue object is missing") end
      # the annotated object must exist in the database
      unless hook.identifier then
        raise AnnotationError.new("Annotation writer does not support annotation of a caTissue object without an identifier: #{hook}")
      end
      # load the caRuby annotations if necessary
      hook.class.ensure_annotations_loaded
      # set the annotation hook reference
      annotation.hook = hook
      # create the annotation in the database
      annotation.create
    end
Creates a new annotation object in the caTissue database.

 @param [CaTissue::Resource] hook the existing static hook object to annotate
 @param [CaTissue::Annotation] annotation the annotation object to create
 @raise [AnnotationError] if the hook object does not have a database identifier