# File lib/dbus/bus.rb, line 416
    def introspect_data(dest, path, &reply_handler)
      m = DBus::Message.new(DBus::Message::METHOD_CALL)
      m.path = path
      m.interface = "org.freedesktop.DBus.Introspectable"
      m.destination = dest
      m.member = "Introspect"
      m.sender = unique_name
      if reply_handler.nil?
        send_sync_or_async(m).first
      else
        send_sync_or_async(m) do |*args|
          # TODO test async introspection, is it used at all?
          args.shift            # forget the message, pass only the text
          reply_handler.call(*args)
          nil
        end
      end
    end