src/net/java/sip/communicator/impl/contactlist/MetaContactImpl.java
/**
     * Adds the specified protocol specific contact to the list of contacts
     * merged in this meta contact. The method also keeps up to date the
     * contactsOnline field which is used in the compareTo() method.
     *
     * @param contact the protocol specific Contact to add.
     */
Adds the specified protocol specific contact to the list of contacts
merged in this meta contact. The method also keeps up to date the
contactsOnline field which is used in the compareTo() method.

@param contact the protocol specific Contact to add.
Adds the specified protocol specific contact to the list of contacts merged in this meta contact . The method also keeps up to date the contactsOnline field which is used in the compareTo () method . @param contact the protocol specific Contact to add .
void addProtoContact(Contact contact)
    {
        synchronized (getParentGroupModLock())
        {
            if (parentGroup != null)
                parentGroup.lightRemoveMetaContact(this);
            contactsOnline += contact.getPresenceStatus().isOnline() ? 1 : 0;
            this.protoContacts.add(contact);
            defaultContact = null;
            if (this.protoContacts.size() == 1
                && (this.displayName == null || this.displayName.trim()
                    .length() == 0))
            {
                this.displayName = contact.getDisplayName();
            }
            if (parentGroup != null)
                parentGroup.lightAddMetaContact(this);
            ProtocolProviderService contactProvider
                = contact.getProtocolProvider();
            OperationSetContactCapabilities capOpSet
                = contactProvider
                    .getOperationSet(OperationSetContactCapabilities.class);
            if (capOpSet != null)
            {
                addCapabilities(contact,
                    capOpSet.getSupportedOperationSets(contact));
            }
        }
    }
void addProtoContact ( Contact contact ) { synchronized ( getParentGroupModLock ( ) ) { if ( parentGroup != null ) parentGroup . lightRemoveMetaContact ( this ) ; contactsOnline += contact . getPresenceStatus ( ) . isOnline ( ) ? 1 : 0 ; this . protoContacts . add ( contact ) ; defaultContact = null ; if ( this . protoContacts . size ( ) == 1 && ( this . displayName == null || this . displayName . trim ( ) . length ( ) == 0 ) ) { this . displayName = contact . getDisplayName ( ) ; } if ( parentGroup != null ) parentGroup . lightAddMetaContact ( this ) ; ProtocolProviderService contactProvider = contact . getProtocolProvider ( ) ; OperationSetContactCapabilities capOpSet = contactProvider . getOperationSet ( OperationSetContactCapabilities . class ) ; if ( capOpSet != null ) { addCapabilities ( contact , capOpSet . getSupportedOperationSets ( contact ) ) ; } } }
Adds the specified protocol specific contact to the list of contacts
 merged in this meta contact.
Adds the specified protocol specific contact to the list of contacts merged in this meta contact .
// Re-init the default contact. // if this is our first contact and we don't already have a display // name, use theirs. // be careful not to use setDisplayName() here cause this will // bring us into a deadlock. // Check if the capabilities operation set is available for this // contact and add a listener to it in order to track capabilities' // changes for all contained protocol contacts.