diff --git a/bufr/src/main/java/ucar/nc2/iosp/bufr/BufrIosp2.java b/bufr/src/main/java/ucar/nc2/iosp/bufr/BufrIosp2.java index a8beb7ba94..4c16c5c9c2 100644 --- a/bufr/src/main/java/ucar/nc2/iosp/bufr/BufrIosp2.java +++ b/bufr/src/main/java/ucar/nc2/iosp/bufr/BufrIosp2.java @@ -79,11 +79,13 @@ public void build(RandomAccessFile raf, Group.Builder rootGroup, CancelTask canc protoMessages = new ArrayList<>(); protoMessages.add(protoMessage); int category = protoMessage.ids.getCategory(); + List categories = new ArrayList<>(); + categories.add(category); while (scanner.hasNext()) { Message message = scanner.next(); - if (message.ids.getCategory() != category) { + if (!categories.contains(message.ids.getCategory())) { protoMessages.add(message); - category = message.ids.getCategory(); + categories.add(message.ids.getCategory()); } } @@ -158,11 +160,13 @@ public void open(RandomAccessFile raf, NetcdfFile ncfile, CancelTask cancelTask) protoMessages = new ArrayList<>(); protoMessages.add(protoMessage); int category = protoMessage.ids.getCategory(); + List categories = new ArrayList<>(); + categories.add(category); while (scanner.hasNext()) { Message message = scanner.next(); - if (message.ids.getCategory() != category) { + if (!categories.contains(message.ids.getCategory())) { protoMessages.add(message); - category = message.ids.getCategory(); + categories.add(message.ids.getCategory()); } }