def METHOD_NAME(self, handle, session_handle, app_id, options, cb_success, cb_error):
    try:
        logger.debug(f"SelectDevices({handle}, {session_handle}, {app_id}, {options})")
        assert session_handle in self.sessions
        response = Response(self.response, {})
        request = ImplRequest(self, BUS_NAME, handle)
        request.export()
        def reply():
            logger.debug(f"SelectDevices with response {response}")
            cb_success(response.response, response.results)
        logger.debug(f"scheduling delay of {self.delay}")
        GLib.timeout_add(self.delay, reply)
    except Exception as e:
        logger.critical(e)
        cb_error(e)