class GameBootMessageController implements ResponseContextCodes {

  public <AGBM extends AbstractGameBootMessage> String process(String request) throws Exception {
    helper.incr(MESSAGE_COUNTER);

    if (isEmpty(request)) fail(getResponseContext(NO_MESSAGE), "Empty message");

    AGBM msg = converter.fromJson(request);

    Response r = process(msg);

    return r == null ? null : converter.toJson(r);
  }

}