diff --git a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java index 8673c0243e..3edb25f643 100644 --- a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java +++ b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java @@ -430,8 +430,9 @@ private void generateGroupEncoderClassHeader( sb, groupToken, groupName, parentMessageClassName, ind, dimensionsClassName, dimensionHeaderSize); final int blockLength = tokens.get(index).encodedLength(); - final String javaTypeForBlockLength = primitiveTypeName(tokens.get(index + 2)); - final Token numInGroupToken = tokens.get(index + 3); + final Token blockLengthToken = tokens.stream().filter(t -> "blockLength".equals(t.name())).findFirst().get(); + final String javaTypeForBlockLength = primitiveTypeName(blockLengthToken); + final Token numInGroupToken = tokens.stream().filter(t -> "numInGroup".equals(t.name())).findFirst().get(); final String javaTypeForNumInGroup = primitiveTypeName(numInGroupToken); sb.append(String.format(