private void encodeMap(final ActiveMQBuffer buffer, final Map<String, Object> map) { for (Map.Entry<String, Object> entry : map.entrySet()) { buffer.writeString(entry.getKey()); Object val = entry.getValue(); if (val instanceof Boolean) { buffer.writeByte(TransportConfiguration.TYPE_BOOLEAN); buffer.writeBoolean((Boolean) val); } else if (val instanceof Integer) { buffer.writeByte(TransportConfiguration.TYPE_INT); buffer.writeInt((Integer) val); } else if (val instanceof Long) { buffer.writeByte(TransportConfiguration.TYPE_LONG); buffer.writeLong((Long) val); } else if (val instanceof String) { buffer.writeByte(TransportConfiguration.TYPE_STRING); buffer.writeString((String) val); } else { throw ActiveMQClientMessageBundle.BUNDLE.invalidEncodeType(val); } } }