public void addSubscriptionForRosterItems( final PEPService pepService )
    {
        try {
            final RosterManager rm = XMPPServer.getInstance().getRosterManager();
            final Roster roster = rm.getRoster(pepService.getAddress().getNode());
            for (final RosterItem item : roster.getRosterItems()) {
                if (item.getSubStatus() == RosterItem.SUB_BOTH || item.getSubStatus() == RosterItem.SUB_FROM) {
                    createSubscriptionToPEPService(pepService, item.getJid(), pepService.getAddress());
                }
            }
        } catch (UserNotFoundException e) {
            Log.warn("Attempting to manage subscriptions for a PEP node that is associated to an unrecognized user: {}", pepService.getAddress(), e);
        }
    }
Populates the PEPService instance with subscriptions. The subscriptions that
are added to the PEPService are based on the roster of the owner of the PEPService:
every entity that's subscribed to the presence of the owner, is added as a
subscriber of the PEPService.

This method adds, but does not remove of update existing subscriptions.

@param pepService The PEPService to be populated with subscriptions.
xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java