class Concurrent::Collection::AtomicReferenceMapBackend

def find_value_in_node_list(node, key, hash, pure_hash)

def find_value_in_node_list(node, key, hash, pure_hash)
  do_check_for_resize = false
  while true
    if pure_hash == hash && node.key?(key) && NULL != (value = node.value)
      return value
    elsif node = node.next
      do_check_for_resize = true # at least 2 nodes -> check for resize
      pure_hash = node.pure_hash
    else
      return NULL
    end
  end
ensure
  check_for_resize if do_check_for_resize
end