addSigHandler(org.freedesktop.DBus.Local.Disconnected.class, new _sighandler());
   private DBusConnection(int bustype) throws DBusException   {      exportedObjects = new HashMap<String,ExportedObject>();      importedObjects = new HashMap<DBusInterface,String>();      exportedObjects.put(null, new ExportedObject(new _globalhandler()));      handledSignals = new HashMap<SignalTuple,Vector<DBusSigHandler>>();      pendingCalls = new HashMap<Long,MethodCall>();      servicenames = new Vector<String>();      outgoing = new LinkedList<DBusMessage>();      pendingErrors = new LinkedList<DBusErrorMessage>();      _run = true;      synchronized (_reflock) {         _refcount = 1; }      dbus_connect(bustype);      // start listening      new _thread().start();            // register ourselves      _dbus = (DBus) getRemoteObject("org.freedesktop.DBus", "/org/freedesktop/DBus", DBus.class);      try {         servicenames.add(_dbus.Hello());      } catch (DBusExecutionException DBEe) {         throw new DBusException(DBEe.getMessage());      }      // register disconnect handlers      addSigHandler(org.freedesktop.DBus.Local.Disconnected.class, new _sighandler());   }