public void editLocation() {
    World<T> world = parentFrame.getWorld();
    
    Location loc = display.getCurrentLocation();
    if (loc != null) {
        T occupant = world.getGrid().get(loc);
        if (occupant == null) {
            MenuMaker<T> maker = new MenuMaker<T>(parentFrame, resources, displayMap);
            JPopupMenu popup = maker.makeConstructorMenu(occupantClasses, loc);
            Point p = display.pointForLocation(loc);
            popup.show(display, p.x, p.y);
        } else {
            MenuMaker<T> maker = new MenuMaker<T>(parentFrame, resources, displayMap);
            JPopupMenu popup = maker.makeMethodMenu(occupant, loc);
            Point p = display.pointForLocation(loc);
            popup.show(display, p.x, p.y);
        }
    }
    parentFrame.repaint();
}