in qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsStreamMessage.java [329:366]
public Object readObject() throws JMSException {
checkWriteOnlyBody();
checkBytesInFlight();
Object result = null;
Object value = facade.peek();
if (value == null) {
result = null;
} else if (value instanceof String) {
result = value;
} else if (value instanceof Float) {
result = value;
} else if (value instanceof Double) {
result = value;
} else if (value instanceof Long) {
result = value;
} else if (value instanceof Integer) {
result = value;
} else if (value instanceof Short) {
result = value;
} else if (value instanceof Byte) {
result = value;
} else if (value instanceof Boolean) {
result = value;
} else if (value instanceof Character) {
result = value;
} else if (value instanceof byte[]) {
byte[] original = (byte[]) value;
result = new byte[original.length];
System.arraycopy(original, 0, result, 0, original.length);
} else {
throw new MessageFormatException("Unknown type found in stream");
}
facade.pop();
return result;
}