public Placeable getClosest(Point p) {
        Placeable placeable = null;
        Placeable closestPlaceable = null;

        double closestDistance = 0;

        try {
            for (String key : placeables.keySet()) {
                placeable = (Placeable) placeables.get(key);
                if (!placeable.getItemName().equals("ItemContainer")) {
                    double distance = p.distance(placeable.getCenterPoint());
                    if ((distance < closestDistance || closestDistance == 0)) {
                        closestPlaceable = placeable;
                        closestDistance = distance;
                    }
                }
            }
        } catch (ConcurrentModificationException concEx) {
            //another thread was trying to modify placeables while iterating
            //we'll continue and the new item can be grabbed on the next update
        }

        return closestPlaceable;
    }