def [](key, index_name = @default_index)
      index(index_name)[key] ||
      index(:"#{index_name}_to_s")[key.to_s] ||
      to_sym?(key) && index(:"#{index_name}_to_sym")[:"#{key}"] ||
      nil
    end
def [](key, index_name = @default_index)
      index(index_name)[key] ||
      index(:"#{index_name}_to_s")[key.to_s] ||
      to_sym?(key) && index(:"#{index_name}_to_sym")[:"#{key}"] ||
      nil
    end
Gets the node indexed by the given key.  By default, this will look up the
 key in the first index configured for the collection.  A custom index can
 be specified like so:

   collection['parked', :value]

 The above will look up the "parked" key in a hash indexed by each node's
 +value+ attribute.

 If the key cannot be found, then nil will be returned.