@Override
    public Void call() {
        final String timestamp = this.writer.timestamp.format(new Date());

        boolean sneakers = false;
        this.markers.clear();
        for (final Player player : this.writer.plugin.getServer().getOnlinePlayers()) {
            if (!player.hasPermission("livemarkers.onlineplayers")) continue;
            if (this.hideSneaking && player.isSneaking()) {
                sneakers = true;
                continue;
            }

            final Map<String, Object> marker = new HashMap<String, Object>();
            marker.put("id", this.getType().id);
            marker.put("msg", player.getName());
            marker.put("world", player.getLocation().getWorld().getName());
            marker.put("x", player.getLocation().getX());
            marker.put("y", player.getLocation().getY());
            marker.put("z", player.getLocation().getZ());
            marker.put("timestamp", timestamp);

            this.markers.add(marker);
        }

        this.stale = ( sneakers ? true : false );

        return null;
    }