private void processMemBlt(RdpPacket_Localised data, MemBltOrder memblt,
            int present, boolean delta) {
        if ((present & 0x01) != 0) {
            memblt.setCacheID(data.get8());
            memblt.setColorTable(data.get8());
        }
        if ((present & 0x02) != 0)
            memblt.setX(setCoordinate(data, memblt.getX(), delta));
        if ((present & 0x04) != 0)
            memblt.setY(setCoordinate(data, memblt.getY(), delta));
        if ((present & 0x08) != 0)
            memblt.setCX(setCoordinate(data, memblt.getCX(), delta));
        if ((present & 0x10) != 0)
            memblt.setCY(setCoordinate(data, memblt.getCY(), delta));
        if ((present & 0x20) != 0)
            memblt.setOpcode(ROP2_S(data.get8()));
        if ((present & 0x40) != 0)
            memblt.setSrcX(setCoordinate(data, memblt.getSrcX(), delta));
        if ((present & 0x80) != 0)
            memblt.setSrcY(setCoordinate(data, memblt.getSrcY(), delta));
        if ((present & 0x0100) != 0)
            memblt.setCacheIDX(data.getLittleEndian16());

        // if(logger.isInfoEnabled()) logger.info("Memblt
        // opcode="+memblt.getOpcode());
        surface.drawMemBltOrder(memblt);
    }