private void _extractShapes(Reader reader) throws XMLStreamException {
        XMLEventReader xrd = fct.createXMLEventReader(reader);
        shapeCoordString.clear();
        while (xrd.hasNext()) {
            XMLEvent xev = xrd.nextEvent();
            if (xev.isStartElement()) {
                String tagName = xev.asStartElement().getName().getLocalPart().toLowerCase();
                if (tagName.contains(Shapes.POLY)) {
                    extractPolygon(xrd);
                } else if (tagName.contains(Shapes.CIRCLE)) {
                    extractCircle(xrd);
                } else if (tagName.contains(Shapes.ENVELOPE)) {
                    extractEnvelope(xrd);
                }
            }
        }
        xrd.close();
    }