public RegisterMessage decode(ByteBuf body, int version) { int length = body.readUnsignedShort(); List<Event.Type> eventTypes = new ArrayList<Event.Type>(length); for (int i = 0; i < length; ++i) eventTypes.add(CBUtil.readEnumValue(Event.Type.class, body)); return new RegisterMessage(eventTypes); }