private void readDeletedInfo()

in src/main/java/com/epam/parso/impl/SasFileParser.java [804:833]


    private void readDeletedInfo() throws IOException {
        long deletedPointerOffset;
        int subheaderPointerLength;
        int bitOffset;
        if (sasFileProperties.isU64()) {
            deletedPointerOffset = PAGE_DELETED_POINTER_OFFSET_X64;
            subheaderPointerLength = SUBHEADER_POINTER_LENGTH_X64;
            bitOffset = PAGE_BIT_OFFSET_X64 + 8;
        } else {
            deletedPointerOffset = PAGE_DELETED_POINTER_OFFSET_X86;
            subheaderPointerLength = SUBHEADER_POINTER_LENGTH_X86;
            bitOffset = PAGE_BIT_OFFSET_X86 + 8;
        }
        int alignCorrection = (bitOffset + SUBHEADER_POINTERS_OFFSET + currentPageSubheadersCount
                * subheaderPointerLength) % BITS_IN_BYTE;
        List<byte[]> vars = getBytesFromFile(new Long[] {deletedPointerOffset},
                new Integer[] {PAGE_DELETED_POINTER_LENGTH});

        long currentPageDeletedPointer = bytesToInt(vars.get(0));
        long deletedMapOffset = bitOffset + currentPageDeletedPointer + alignCorrection
                + (currentPageSubheadersCount * subheaderPointerLength)
                + ((currentPageBlockCount - currentPageSubheadersCount) * sasFileProperties.getRowLength());
        List<byte[]> bytes = getBytesFromFile(new Long[] {deletedMapOffset},
            new Integer[] {(int) Math.ceil((currentPageBlockCount - currentPageSubheadersCount) / 8.0)});

        byte[] x = bytes.get(0);
        for (byte b : x) {
            deletedMarkers += String.format("%8s", Integer.toString(b & 0xFF, 2)).replace(" ", "0");
        }
    }