public BlockFace getSignDirection(Block sign) {
        // Find any nearby wall sign
        if (sign.getType() == Material.WALL_SIGN) {

            // So many hoops just to figure out which direction it's facing.
            MaterialData md = sign.getType().getNewData(sign.getData());
            if (md instanceof org.bukkit.material.Sign && sign.getState() instanceof Sign) {
                org.bukkit.material.Sign s = (org.bukkit.material.Sign) md;

                return s.getFacing();
            }
        }
        return null;
    }