boolean moreData = true;
    protected String readGestureResponses(Layer layer, Projection proj,                                          OMGridGenerator generator)            throws IOException, EOFException {        OMGraphic graphic;        long startTime = System.currentTimeMillis();        String header = null;        int gestureType;        boolean moreData = true;        float ver = link.dis.readFloat();        if (ver != version) {            if (ver == .1) {// Big difference....                throw new IOException("LinkActionList: Versions do not match! DANGER!");            } else {                Debug.message("link", "LinkActionList: Versions do not match");            }        }        properties = new LinkProperties(link);        Debug.message("link", "LinkActionList: reading actions:");        while (true) {            graphic = null;            // Just consume the header, don't create a useless            // string object.            header = link.readDelimiter(false);            if (header == Link.END_TOTAL || header == Link.END_SECTION) {                long endTime = System.currentTimeMillis();                if (Debug.debugging("link")) {                    Debug.output("LinkActionList: received in "                            + (float) (endTime - startTime) / 1000.0f                            + " seconds");                }                return header;            }            gestureType = link.dis.readInt();            int length;            String data;            switch (gestureType) {            case ACTION_GRAPHICS:                int graphicAction = link.dis.readInt();                if (updates == null) {                    updates = new Vector();                }                if (LinkUtil.isMask(graphicAction, UPDATE_ADD_GRAPHIC_MASK)                        || LinkUtil.isMask(graphicAction, UPDATE_GRAPHIC_MASK)) {                    updates.addElement(readGraphic(graphicAction,                            proj,                            generator));                } else {                    LinkProperties props = new LinkProperties(link);                    updates.addElement(new GraphicUpdate(graphicAction, props.getProperty(LPC_GRAPHICID)));                }                reacted = true;                break;            case ACTION_GUI:                break;            case ACTION_MAP:                mapUpdate = true;                mapProperties = new LinkProperties(link);                break;            default:                System.err.println("LinkActionList: received unknown gesture type.");            }        }    }