# File lib/heckle.rb, line 106
  def initialize(klass_name = nil, method_name = nil,
                 nodes = Heckle::MUTATABLE_NODES, reporter = Reporter.new)
    super()

    @klass_name = klass_name
    @method_name = method_name.intern if method_name

    @klass = klass_name.to_class

    @method = nil
    @reporter = reporter

    self.strict = false
    self.auto_shift_type = true
    self.expected = Sexp

    @mutatees = Hash.new
    @mutation_count = Hash.new 0
    @node_count = Hash.new 0
    @count = 0

    @mutatable_nodes = nodes
    @mutatable_nodes.each {|type| @mutatees[type] = [] }

    @failures = []

    @mutated = false

    grab_mutatees

    @original_tree = current_tree.deep_clone
    @original_mutatees = mutatees.deep_clone
  end