def start(key = nil, options = {})
        object, terminator = (options || {}).values_at(:object, :terminator)
        
        return if key && !object.send("_one_time_conditions_valid_#{@callback_id}?")
        
        terminator ||= false
        
        
        
                
        if @kind == :before || @kind == :around
          if @kind == :before
            
            
            
            filter = "unless halted\nresult = \#{@filter}\nhalted ||= (\#{terminator})\nend\n"
            [@compiled_options[0], filter, @compiled_options[1]].compact.join("\n")
          else
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            name = "_conditional_callback_#{@kind}_#{next_id}"
            txt = "def \#{name}(halted)\n\#{@compiled_options[0] || \"if true\"} && !halted\n\#{@filter} do\nyield self\nend\nelse\nyield self\nend\nend\n"
            @klass.class_eval(txt)
            "#{name}(halted) do"
          end
        end
      end