public static void allBinStrings(String file, ByteBuffer allBin, ByteBuffer bootDol, List<HomelandString> collector) throws IOException {
        List<Integer> offsets = readOffsets(bootDol);
        for (int i = 1; i <= offsets.size(); i++) {
            int start = offsets.get(i - 1);
            int end;
            if (i == offsets.size()) {
                end = allBin.capacity();
            } else {
                end = offsets.get(i);
            }
            boolean startsWithCNDY = true;
            if (end - start > SPLIT_BYTES.length) {
                for (int j = 0; j < SPLIT_BYTES.length; j++) {
                    byte c = SPLIT_BYTES[j];
                    if (c != allBin.get(start + j)) {
                        startsWithCNDY = false;
                        break;
                    }
                }
            } else {
                startsWithCNDY = false;
            }
            if (CNDY_ONLY && !startsWithCNDY) {
                continue;
            }
            int size = end - start;
            byte[] bytes = new byte[size];
            allBin.position(start);
            allBin.get(bytes);
            allBin.position(0);

            if (startsWithCNDY) {
                List<HomelandString> texts = CNDYParser.parse(start, file, bytes);
                collector.addAll(texts);
            }
        }
    }