float lllon = pt.lon;
    public LLPoint[] generatePolyPts(List ipts, float north, float south,                                     float east, float west, float dpplat,                                     float dpplon) {        int coordcount = ipts.size();        /*         * Let me explain. We might be inserting some extra points to         * work around a problem displaying Antarctica in cylindrical         * projections. So the initial capacity of the Vector is set         * to the number of points. The increment value is set to 5         * since that's how many points we'll add if we hit the         * antarctica thing. That way we're not allocating a huge new         * Vector when we don't really need to.         */        Vector vPts = new Vector(coordcount, 5);        // HACK: we will rewrite the data for the Antarctica polygon        // so that        // it will display "correctly" in the cylindrical projections.        //only check if bottom edge of screen below a certain        // latitude        boolean weaseledOurWayAroundAntarcticAnomaly = (south >= -62f);        LLPoint prevPt = null;        for (int i = 0; i < coordcount; i++) {            LLPoint pt = (LLPoint) ipts.get(i);            float lllat = pt.lat;            float lllon = pt.lon;            if ((prevPt != null) && (i != (coordcount - 1))                    && (Math.abs(prevPt.lat - pt.lat) < dpplat)                    && (Math.abs(prevPt.lon - pt.lon) < dpplon)) {                continue;            }            vPts.add(pt);            prevPt = pt;            if (!weaseledOurWayAroundAntarcticAnomaly                    && (lllat < antarcticaThreshold)) {                weaseledOurWayAroundAntarcticAnomaly = true;                System.out.println("AreaTable.generateSPoly(): Antarctica!");                //another HACK: we're assuming data is going from                // west to east,                //so we wrap the other way                vPts.add(new LLPoint(-89.99f, 179.99f));                vPts.add(new LLPoint(-89.99f, 90f));                vPts.add(new LLPoint(-89.99f, 0f));                vPts.add(new LLPoint(-89.99f, -90f));                vPts.add(new LLPoint(-89.99f, -179.99f));                prevPt = (LLPoint) vPts.lastElement();                //advance to western hemisphere where we                //pick up the real data again                while (((LLPoint) ipts.get(i)).lon > 0) {                    ++i;                }            }        }        int nPts = vPts.size();        if (nPts == 0) {            return null;        } else {            LLPoint pts[] = new LLPoint[nPts];            vPts.copyInto(pts);            return pts;        }    }