public static void presenceSubscriptionRequired(PubSubService service, Node node, JID user) {
        Map<JID, String> fullPresences = service.getSubscriberPresences().get(user);
        if (fullPresences == null || fullPresences.isEmpty()) {
            Presence subscription = new Presence(Presence.Type.subscribe);
            subscription.setTo(user);
            subscription.setFrom(service.getAddress());
            service.send(subscription);
            // Sending subscription requests based on received presences may generate
            // that a subscription request is sent to an offline user (since offline
            // presences are not stored in the service's "barePresences"). However, this
            // not optimal algorithm shouldn't bother the user since the user's server
            // should reply when already subscribed to the user's presence instead of
            // asking the user to accept the subscription request.
        }
    }
Requests the pubsub service to unsubscribe from the presence of the user. If the service
was not subscribed to the user's presence or any node still requires to be subscribed to
the user presence then do nothing.

@param service the PubSub service this action is to be performed for.
@param node the node that originated the unsubscription request.
@param user the JID of the affiliate to unsubscribe from his presence.
xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubEngine.java