private Object decodePrimitive(final Class<?> targetType, final String message) throws DecodeException {
if (targetType == Boolean.class || targetType == boolean.class) {
return new Boolean(message);
} else if (targetType == Character.class || targetType == char.class) {
if (message.length() > 1) {
throw new DecodeException(message, "Character message larger than 1 character");
}
return new Character(message.charAt(0));
} else if (targetType == Byte.class || targetType == byte.class) {
return new Byte(message);
} else if (targetType == Short.class || targetType == short.class) {