private Map<String, Model> buildGroups() {
        // Sort our polygons into groups
        Map<String, List<Polygon>> polyGroup = new java.util.HashMap<String, List<Polygon>>();
        for( Polygon p : polygons){
            for(String group : p.groups){
                if(group.isEmpty()) {
                    continue;
                }
                if(!polyGroup.containsKey(group)){ // If it doesn't have the key, add it
                    polyGroup.put(group, new java.util.ArrayList<Polygon>());
                }
                polyGroup.get(group).add(p); // Add this poly to the group
            }
        }
        // Make each group a model so we can use all our collision code for models on each group

        Map<String, Model> groups = new java.util.HashMap<String, Model>();

        for(String groupName : polyGroup.keySet()){
            groups.put(groupName, new Model( polyGroup.get(groupName)));
        }


        return groups;
    }