sizeimage = constructInt(bi, 20);
sizeimage = (constructInt(bi, 20) == 0 ? size - constructInt(bf,10) : constructInt(bi, 20));
    public final void read(byte[] data){        final int bflen = 14;        byte bf[] = new byte[bflen];        for(int i = 0; i < bf.length; i++) {            bf[i] = data[i];        }        final int bilen = 40;        byte bi[] = new byte[bilen];        for(int i = 0; i < bi.length; i++) {            bi[i] = data[i + 14];        }        size = constructInt(bf, 2);        bisize = constructInt(bi, 2);        width = constructInt(bi, 4);        height = constructInt(bi, 8);        planes = constructShort(bi, 12);        bitcount = constructShort(bi, 14);        compression = constructInt(bi, 16);        sizeimage = constructInt(bi, 20);        xpm = constructInt(bi, 24);        ypm = constructInt(bi, 28);        clrused = constructInt(bi, 32);        clrimp = constructInt(bi, 36);    }