@EventHandler(priority = EventPriority.NORMAL)
    public void onPlayerJoin (PlayerJoinEvent event)
      {
        if ( !autoUpdater.isUpToDate() && !autoUpdater.hasDownloaded())
          {
            final String playerName = event.getPlayer().getName();
            plugin.getServer().getScheduler()
                .scheduleSyncDelayedTask(plugin, new Runnable()
                  {
                    public void run ()
                      {
                        Player player =
                            plugin.getServer().getPlayer(playerName);
                        if (player == null)
                          return;
                        if (player.hasPermission(plugin.getName().toLowerCase()
                            + ".update"))
                          {
                            player.sendMessage(ChatColor.GREEN
                                + "A newer version of " + ChatColor.RED
                                + plugin.getName() + ChatColor.GREEN
                                + " is available!" + ChatColor.GRAY + " (v"
                                + ChatColor.DARK_GREEN
                                + autoUpdater.getNewestVersion()
                                + ChatColor.GRAY + ")");
                            String site = autoUpdater.getSite();
                            if (!site.isEmpty())
                              {
                                player.sendMessage(ChatColor.GREEN
                                    + "Download it here: " + ChatColor.BLUE
                                    + site);
                              }
                          }
                      }
                  }, 60L);
          }
      }