def sync(options = {})
    assert_open
    assert_keys(options,
                :supported  => [:path, :callback, :callback_context],
                :required   => [:path, :callback])

    req_id = setup_call(:sync, options)

    rc = super(req_id, options[:path]) # we don't pass options[:callback] here as this method is *always* async

    { :req_id => req_id, :rc => rc }
  end
def sync(options = {})
    assert_open
    assert_keys(options,
                :supported  => [:path, :callback, :callback_context],
                :required   => [:path, :callback])

    req_id = setup_call(:sync, options)

    rc = super(req_id, options[:path]) # we don't pass options[:callback] here as this method is *always* async

    { :req_id => req_id, :rc => rc }
  end
this method is *only* asynchronous

 @note There is a discrepancy between the zkc and java versions. zkc takes
   a string_callback_t, java takes a VoidCallback. You should most likely use
   the Zookeeper::Callbacks::VoidCallback and not rely on the string value.