In the C code it checks for the message sequence, order, and channel number: https://github.com/bcl/aisparser/blob/master/c/src/vdm_parse.c#L458 but in the Java parser it accepts whatever the current channel is: https://github.com/bcl/aisparser/blob/master/java/src/main/java/com/aisparser/Vdm.java#L115
(I no longer have a java development setup so am unable to fix this).
This shouldn't be a problem as long as the parser is fed messages that are from the same channel, and in order.