src/net/java/sip/communicator/service/protocol/AbstractCallPeer.java
/**
     * Adds a specific <tt>ConferenceMember</tt> to the list of
     * <tt>ConferenceMember</tt>s reported by this peer through
     * {@link #getConferenceMembers()} and {@link #getConferenceMemberCount()}
     * and fires
     * <tt>CallPeerConferenceEvent#CONFERENCE_MEMBER_ADDED</tt> to
     * the currently registered <tt>CallPeerConferenceListener</tt>s.
     *
     * @param conferenceMember a <tt>ConferenceMember</tt> to be added to the
     * list of <tt>ConferenceMember</tt> reported by this peer. If the specified
     * <tt>ConferenceMember</tt> is already contained in the list, it is not
     * added again and no event is fired.
     */
Adds a specific ConferenceMember to the list of
ConferenceMembers reported by this peer through
#getConferenceMembers() and  #getConferenceMemberCount()
and fires
CallPeerConferenceEvent#CONFERENCE_MEMBER_ADDED to
the currently registered CallPeerConferenceListeners.

@param conferenceMember a ConferenceMember to be added to the
list of ConferenceMember reported by this peer. If the specified
ConferenceMember is already contained in the list, it is not
added again and no event is fired.
Adds a specific ConferenceMember to the list of ConferenceMembers reported by this peer through #getConferenceMembers () and #getConferenceMemberCount () and fires CallPeerConferenceEvent#CONFERENCE_MEMBER_ADDED to the currently registered CallPeerConferenceListeners . @param conferenceMember a ConferenceMember to be added to the list of ConferenceMember reported by this peer . If the specified ConferenceMember is already contained in the list it is not added again and no event is fired .
public void addConferenceMember(ConferenceMember conferenceMember)
    {
        if (conferenceMember == null)
            throw new NullPointerException("conferenceMember");
        else
        {
            synchronized (conferenceMembersSyncRoot)
            {
                if (conferenceMembers.contains(conferenceMember))
                    return;
                else
                {
                    List<ConferenceMember> newConferenceMembers
                        = new ArrayList<ConferenceMember>(conferenceMembers);
                    if (newConferenceMembers.add(conferenceMember))
                    {
                        conferenceMembers = newConferenceMembers;
                        unmodifiableConferenceMembers
                            = Collections.unmodifiableList(conferenceMembers);
                    }
                    else
                        return;
                }
            }
            fireCallPeerConferenceEvent(
                    new CallPeerConferenceEvent(
                            this,
                            CallPeerConferenceEvent.CONFERENCE_MEMBER_ADDED,
                            conferenceMember));
        }
    }
public void addConferenceMember ( ConferenceMember conferenceMember ) { if ( conferenceMember == null ) throw new NullPointerException ( "conferenceMember" ) ; else { synchronized ( conferenceMembersSyncRoot ) { if ( conferenceMembers . contains ( conferenceMember ) ) return ; else { List < ConferenceMember > newConferenceMembers = new ArrayList < ConferenceMember > ( conferenceMembers ) ; if ( newConferenceMembers . add ( conferenceMember ) ) { conferenceMembers = newConferenceMembers ; unmodifiableConferenceMembers = Collections . unmodifiableList ( conferenceMembers ) ; } else return ; } } fireCallPeerConferenceEvent ( new CallPeerConferenceEvent ( this , CallPeerConferenceEvent . CONFERENCE_MEMBER_ADDED , conferenceMember ) ) ; } }
Adds a specific <tt>ConferenceMember</tt> to the list of
 <tt>ConferenceMember</tt>s reported by this peer through
 {@link #getConferenceMembers()} and {@link #getConferenceMemberCount()}
 and fires
 <tt>CallPeerConferenceEvent#CONFERENCE_MEMBER_ADDED</tt> to
 the currently registered <tt>CallPeerConferenceListener</tt>s.
Adds a specific <tt > ConferenceMember< / tt > to the list of <tt > ConferenceMember< / tt > s reported by this peer through { @link #getConferenceMembers () } and { @link #getConferenceMemberCount () } and fires <tt > CallPeerConferenceEvent#CONFERENCE_MEMBER_ADDED< / tt > to the currently registered <tt > CallPeerConferenceListener< / tt > s .