code: @Override
      public void handleServerEvent(ISFSEvent event) throws SFSException {
          Zone sfsZone = (Zone) event.getParameter(SFSEventParam.ZONE);
          Room sfsRoom = (Room) event.getParameter(SFSEventParam.ROOM);
          User sfsUser = (User) event.getParameter(SFSEventParam.USER);
          User recipient = (User)event.getParameter(SFSEventParam.RECIPIENT);
          String message = (String)event.getParameter(SFSEventParam.MESSAGE);
          ISFSObject params = (ISFSObject)event.getParameter(SFSEventParam.OBJECT);
          ApiPrivateMessageImpl messageObject = new ApiPrivateMessageImpl();
          messageObject.setContent(message);
          messageObject.setZone((ApiZone)sfsZone.getProperty(APIKey.ZONE));
          messageObject.setRoom((sfsRoom != null) 
                  ? (ApiRoom)sfsRoom.getProperty(APIKey.ROOM) : null);
          messageObject.setSender((ApiUser)sfsUser.getProperty(APIKey.USER));
          messageObject.setRecipient((ApiUser)recipient.getProperty(APIKey.USER));
          notifyToHandlers(messageObject, params);
      }
docs: /* (non-Javadoc)
  @see com.smartfoxserver.v2.extensions.IServerEventHandler#handleServerEvent(com.smartfoxserver.v2.core.ISFSEvent)