src/net/java/sip/communicator/impl/protocol/jabber/OperationSetPersistentPresenceJabberImpl.java
/**
     * Persistently adds a subscription for the presence status of the
     * contact corresponding to the specified contactIdentifier and indicates
     * that it should be added to the specified group of the server stored
     * contact list.
     *
     * @param parent the parent group of the server stored contact list
     *   where the contact should be added. <p>
     * @param contactIdentifier the contact whose status updates we are
     *   subscribing for.
     * @throws IllegalArgumentException if <tt>contact</tt> or
     *   <tt>parent</tt> are not a contact known to the underlying protocol
     *   provider.
     * @throws IllegalStateException if the underlying protocol provider is
     *   not registered/signed on a public service.
     * @throws OperationFailedException with code NETWORK_FAILURE if
     *   subscribing fails due to errors experienced during network
     *   communication
     */
Persistently adds a subscription for the presence status of the
contact corresponding to the specified contactIdentifier and indicates
that it should be added to the specified group of the server stored
contact list.

@param parent the parent group of the server stored contact list
where the contact should be added. 
@param contactIdentifier the contact whose status updates we are
subscribing for.
@throws IllegalArgumentException if contact or
parent are not a contact known to the underlying protocol
provider.
@throws IllegalStateException if the underlying protocol provider is
not registered/signed on a public service.
@throws OperationFailedException with code NETWORK_FAILURE if
subscribing fails due to errors experienced during network
communication
Persistently adds a subscription for the presence status of the contact corresponding to the specified contactIdentifier and indicates that it should be added to the specified group of the server stored contact list . @param parent the parent group of the server stored contact list where the contact should be added . @param contactIdentifier the contact whose status updates we are subscribing for . @throws IllegalArgumentException if contact or parent are not a contact known to the underlying protocol provider . @throws IllegalStateException if the underlying protocol provider is not registered / signed on a public service . @throws OperationFailedException with code NETWORK_FAILURE if subscribing fails due to errors experienced during network communication
public void subscribe(ContactGroup parent, String contactIdentifier)
        throws IllegalArgumentException, IllegalStateException,
               OperationFailedException
    {
        assertConnected();
        if(! (parent instanceof ContactGroupJabberImpl) )
            throw new IllegalArgumentException(
                "Argument is not an jabber contact group (group="
                            + parent + ")");
        ssContactList.addContact(parent, contactIdentifier);
    }
public void subscribe ( ContactGroup parent , String contactIdentifier ) throws IllegalArgumentException , IllegalStateException , OperationFailedException { assertConnected ( ) ; if ( ! ( parent instanceof ContactGroupJabberImpl ) ) throw new IllegalArgumentException ( "Argument is not an jabber contact group (group=" + parent + ")" ) ; ssContactList . addContact ( parent , contactIdentifier ) ; }
Persistently adds a subscription for the presence status of the
 contact corresponding to the specified contactIdentifier and indicates
 that it should be added to the specified group of the server stored
 contact list.
Persistently adds a subscription for the presence status of the contact corresponding to the specified contactIdentifier and indicates that it should be added to the specified group of the server stored contact list .