// Path: src/main/java/com/pff/PSTFile.java
// public static final int PST_TYPE_ANSI = 14;


import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import static com.pff.PSTFile.PST_TYPE_ANSI;
                this.columnDescriptors[col] = new ColumnDescriptor(tcHeaderNode, offset);
                // System.out.println("iBit: "+col+" "
                // +columnDescriptors[col].iBit);
                if (this.columnDescriptors[col].id == entityToExtract) {
                    this.overrideCol = col;
                }
                offset += 8;
            }
        }

        // if we are asking for a specific column, only get that!
        if (this.overrideCol > -1) {
            this.cCols = this.overrideCol + 1;
        }

        // Read the key table
        /* System.out.printf("Key table:\n"); / **/
        this.keyMap = new HashMap<>();
        // byte[] keyTableInfo = getNodeInfo(hidRoot);
        final NodeInfo keyTableInfo = this.getNodeInfo(this.hidRoot);
        this.numberOfKeys = keyTableInfo.length() / (this.sizeOfItemKey + this.sizeOfItemValue);
        offset = 0;
        for (int x = 0; x < this.numberOfKeys; x++) {
            final int Context = (int) keyTableInfo.seekAndReadLong(offset, this.sizeOfItemKey);
            offset += this.sizeOfItemKey;
            final int RowIndex = (int) keyTableInfo.seekAndReadLong(offset, this.sizeOfItemValue);
            offset += this.sizeOfItemValue;
            this.keyMap.put(Context, RowIndex);
        }

// Path: src/main/java/com/pff/PSTFile.java
// public static final int PST_TYPE_ANSI = 14;


// Path: src/main/java/com/pff/PSTTable7C.java
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import static com.pff.PSTFile.PST_TYPE_ANSI;

                this.columnDescriptors[col] = new ColumnDescriptor(tcHeaderNode, offset);
                // System.out.println("iBit: "+col+" "
                // +columnDescriptors[col].iBit);
                if (this.columnDescriptors[col].id == entityToExtract) {
                    this.overrideCol = col;
                }
                offset += 8;
            }
        }

        // if we are asking for a specific column, only get that!
        if (this.overrideCol > -1) {
            this.cCols = this.overrideCol + 1;
        }

        // Read the key table
        /* System.out.printf("Key table:\n"); / **/
        this.keyMap = new HashMap<>();
        // byte[] keyTableInfo = getNodeInfo(hidRoot);
        final NodeInfo keyTableInfo = this.getNodeInfo(this.hidRoot);
        this.numberOfKeys = keyTableInfo.length() / (this.sizeOfItemKey + this.sizeOfItemValue);
        offset = 0;
        for (int x = 0; x < this.numberOfKeys; x++) {
            final int Context = (int) keyTableInfo.seekAndReadLong(offset, this.sizeOfItemKey);
            offset += this.sizeOfItemKey;
            final int RowIndex = (int) keyTableInfo.seekAndReadLong(offset, this.sizeOfItemValue);
            offset += this.sizeOfItemValue;
            this.keyMap.put(Context, RowIndex);
        }

        if (in.getPSTFile().getPSTFileType()==PST_TYPE_ANSI)