 
     zoom: (node) ->
       if node in @_ancestors
-        @_ancestors.slice(0, @_ancestors.indexOf(node))
+        @_ancestors = @_ancestors.slice(0, @_ancestors.indexOf(node))
       else
         @_ancestors.push(@data()[0])
       @data(node).render(@_selector)

        .on 'click', (d, idx) =>
          d3.event.stopPropagation()
          @zoom(d) if idx > 0
      @

    _generateAccessors: (accessors) ->

    tokens = fqdn.split(".")
    tokens.slice(tokens.length - 2).join(".")

  # Return a vector (0.0 -> 1.0) that is a hash of the input string.
  # The hash is computed to favor early characters over later ones, so
  # that strings with similar starts have similar vectors. Only the first
  # 6 characters are considered.
