public List<Road> retrieve(List<Road> returnObjects, Rectangle pRect) {
        System.out.println("" + this.level);
        int index = getIndex(pRect);
        System.out.println("" + index);
        if (index == -1 && nodes[0] != null) {
            returnObjects.addAll(objects);
            for (Quadtree q : nodes) {
                q.retrieve(returnObjects, q.bounds);
            }
        } else if (index != -1 && nodes[0] != null) {
            nodes[index].retrieve(returnObjects, pRect);
        } else {

            for (Road r : objects) {
                calcMax(r);
                CurrentData cd = CurrentData.getInstance();
                cd.setXmax(xmax);
                cd.setYmax(ymax);
                cd.setXmin(xmin);
                returnObjects.add(r);
            }
        }
        //returnObjects.addAll(objects);

        return returnObjects;
    }