# File lib/versionomy/format/delimiter.rb, line 87
      def initialize(schema_, default_opts_={}, &block_)
        # Special case used by modified_copy
        if schema_.kind_of?(Delimiter)
          orig_ = schema_
          @schema = orig_.schema
          @default_parse_params = orig_.default_parse_params
          @default_unparse_params = orig_.default_unparse_params
          @field_handlers = orig_.instance_variable_get(:@field_handlers).dup
          builder_ = Delimiter::Builder.new(@schema, @field_handlers,
            @default_parse_params, @default_unparse_params)
          ::Blockenspiel.invoke(block_, builder_)
          return
        end

        @schema = schema_
        @field_handlers = {}
        @default_parse_params = {}
        @default_unparse_params = {}
        builder_ = Delimiter::Builder.new(@schema, @field_handlers,
          @default_parse_params, @default_unparse_params)
        ::Blockenspiel.invoke(block_, builder_)
        _interpret_field_lists(@default_unparse_params)
        @schema.names.each do |name_|
          @field_handlers[name_] ||= Delimiter::FieldHandler.new(@schema.field_named(name_), default_opts_)
        end
      end