private static byte [] createPrefixDataType(final byte [] prefix, final DataTypeIdentifier nested, final byte [] postfix) {
byte [] whole = new byte[prefix.length + 2 + nested.utf8.getByteLength() + postfix.length];
for (int i=0; i < prefix.length; i++) {
whole[i] = prefix[i];
}
whole[prefix.length] = '<';
for (int i = 0, m=nested.utf8.getByteLength(); i < m; i++ ) {
whole[prefix.length+1+i] = nested.utf8.getByte(i);
}
whole[prefix.length + 1 + nested.utf8.getByteLength()] = '>';
for (int i = 0; i < postfix.length; i++) {
whole[prefix.length + 1 + nested.utf8.length() + 1 + i] = postfix[i];
}
return whole;
}
private static byte [] createMapDataType(final byte [] prefix, final DataTypeIdentifier key, final DataTypeIdentifier value) {