private Object[] readOpenList() throws IOException {
        ArrayList objects = new ArrayList();
        int code;
        while (true) {
            try {
                code = readNextCode();
            } catch (EOFException e) {
                code = Codes.END_COLLECTION;
            }
            if (code == Codes.END_COLLECTION) {
                return objects.toArray();
            }
            objects.add(read(code));
        }
    }