_client.on(eventname, new Emitter.Listener() {
                    @Override
                    public void call(Object... args) {
                        // some codes
                        if (debugmode) raise_log("Event "+eventname+" value is Object, raising with Object");               
                        // first try using raiseEvent
                        //returndata = bax.raiseEvent(Me, eventtoraise, new Object[] {valuedata});
                        // second try using raiseEvent2
                        //returndata = bax.raiseEvent2(Me, false, eventtoraise, false, new Object[] {valuedata});
                        // third try using raiseEventFromDifferentThread
                        returndata = bax.raiseEventFromDifferentThread(Me, null, 0, eventtoraise, false, new Object[] {valuedata});
                        if (debugmode) raise_log("Return Data = "+returndata);
                    }
}