state.logEvent("Error accessing message fields");
LogUtil.logThrowable(state.getLog(), "Error accessing message fields", e);
    private synchronized boolean sendRaw(Message message, int num) {        try {            boolean result = false;            Message.Header header = message.getHeader();            String msgType = header.getString(MsgType.FIELD);            initializeHeader(header);            if (num > 0) {                header.setInt(MsgSeqNum.FIELD, num);            }            String messageString = null;            if (Message.isAdminMsgType(msgType)) {                application.toAdmin(message, sessionID);                messageString = message.toString();                if (msgType.equals("A") || msgType.equals("5") || msgType.equals("2")                        || msgType.equals("4") || isLoggedOn()) {                    result = send(messageString);                }            } else {                try {                    application.toApp(message, sessionID);                    messageString = message.toString();                    if (isLoggedOn()) {                        result = send(messageString);                    }                } catch (DoNotSend e) {                    return false;                }            }            if (num == 0) {                int msgSeqNum = header.getInt(MsgSeqNum.FIELD);                state.set(msgSeqNum, messageString);                state.incrNextSenderMsgSeqNum();            }            return result;        } catch (IOException e) {            state.logEvent("Error Reading/Writing in MessageStore");            return false;        } catch (FieldNotFound e) {            state.logEvent("Error accessing message fields");            return false;        }    }