private void processPolyLine(RdpPacket_Localised data,
            PolyLineOrder polyline, int present, boolean delta) {
        if ((present & 0x01) != 0)
            polyline.setX(setCoordinate(data, polyline.getX(), delta));
        if ((present & 0x02) != 0)
            polyline.setY(setCoordinate(data, polyline.getY(), delta));
        if ((present & 0x04) != 0)
            polyline.setOpcode(data.get8());
        if ((present & 0x10) != 0)
            polyline.setForegroundColor(setColor(data));
        if ((present & 0x20) != 0)
            polyline.setLines(data.get8());
        if ((present & 0x40) != 0) {
            int datasize = data.get8();
            polyline.setDataSize(datasize);
            byte[] databytes = new byte[datasize];
            for (int i = 0; i < datasize; i++)
                databytes[i] = (byte) data.get8();
            polyline.setData(databytes);
        }
        // logger.info("polyline delta="+delta);
        // if(logger.isInfoEnabled()) logger.info("Line from
        // ("+line.getStartX()+","+line.getStartY()+") to
        // ("+line.getEndX()+","+line.getEndY()+")");
        // now draw the line
        surface.drawPolyLineOrder(polyline);
    }