public boolean teleportPlayer(Placeable p) {
        Placeable placeable = null;

        try {
            for (String key : placeables.keySet()) {
                placeable = (Placeable) placeables.get(key);
                if (placeable.getType().equals(p.getType()) && placeable != p) {
                    Player player = registry.getPlayerManager().getCurrentPlayer();
                    if (player != null) {
                        SoundClip cl = new SoundClip("Misc/Teleport");
                        player.setPosition(placeable.getCenterPoint().x - 25, placeable.getMapY());
                        return true;
                    }
                }
            }
        } 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
        }

        registry.showMessage("Error", "No matching teleporter found");

        return false;
    }