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) {