    # File lib/yard/docstring.rb, line 163
        def create_tag(tag_name, tag_buf)
          if tag_buf =~ /\A\s*(?:(\S+)\s+)?\(\s*see\s+(\S+)\s*\)\s*\Z/
            return create_ref_tag(tag_name, $1, $2)
          end

          tag_factory = Tags::Library.instance
          tag_method = "#{tag_name}_tag"
          if tag_name && tag_factory.respond_to?(tag_method)
            add_tag(*[tag_factory.send(tag_method, tag_buf)].flatten)
          else
            log.warn "Unknown tag @#{tag_name}" + (object ? " in file `#{object.file}` near line #{object.line}" : "")
          end
        rescue Tags::TagFormatError
          log.warn "Invalid tag format for @#{tag_name}" + (object ? " in file `#{object.file}` near line #{object.line}" : "")
        end