Program: 103048
Project: 103048
Buggy source:
/** 
 * Notifies this instance that a specific <tt>ColibriConferenceIQ</tt> has been received. This <tt>CallPeerMediaHandler</tt> uses the part of the information provided in the specified <tt>conferenceIQ</tt> which concerns it only.
 * @param conferenceIQ the <tt>ColibriConferenceIQ</tt> which has beenreceived
 */
void processColibriConferenceIQ(ColibriConferenceIQ conferenceIQ){
  TransportManagerJabberImpl transportManager=this.transportManager;
  if (transportManager != null) {
    long oldAudioRemoteSSRC=getRemoteSSRC(MediaType.AUDIO);
    long oldVideoRemoteSSRC=getRemoteSSRC(MediaType.VIDEO);
    for (    MediaType mediaType : MediaType.values()) {
      ColibriConferenceIQ.Channel dst=transportManager.getColibriChannel(mediaType,false);
      if (dst != null) {
        ColibriConferenceIQ.Content content=conferenceIQ.getContent(mediaType.toString());
        if (content != null) {
          ColibriConferenceIQ.Channel src=content.getChannel(dst.getID());
          if (src != null) {
            long[] ssrcs=src.getSSRCs();
            long[] dstSsrcs=dst.getSSRCs();
            if (!Arrays.equals(dstSsrcs,ssrcs)) {
              dst.setSSRCs(ssrcs);
              if (logger.isDebugEnabled()) {
                logger.debug("String_Node_Str" + mediaType.toString() + "String_Node_Str"+ dst.getID()+ "String_Node_Str"+ Arrays.toString(dstSsrcs)+ "String_Node_Str"+ Arrays.toString(ssrcs));
              }
            }
          }
        }
      }
    }
    long newAudioRemoteSSRC=getRemoteSSRC(MediaType.AUDIO);
    long newVideoRemoteSSRC=getRemoteSSRC(MediaType.VIDEO);
    if (oldAudioRemoteSSRC != newAudioRemoteSSRC) {
      firePropertyChange(AUDIO_REMOTE_SSRC,oldAudioRemoteSSRC,newAudioRemoteSSRC);
    }
    if (oldVideoRemoteSSRC != newVideoRemoteSSRC) {
      firePropertyChange(VIDEO_REMOTE_SSRC,oldVideoRemoteSSRC,newVideoRemoteSSRC);
    }
  }
}

Fixed version (ground truth):
/** 
 * Notifies this instance that a specific <tt>ColibriConferenceIQ</tt> has been received. This <tt>CallPeerMediaHandler</tt> uses the part of the information provided in the specified <tt>conferenceIQ</tt> which concerns it only.
 * @param conferenceIQ the <tt>ColibriConferenceIQ</tt> which has beenreceived
 */
void processColibriConferenceIQ(ColibriConferenceIQ conferenceIQ){
  TransportManagerJabberImpl transportManager=this.transportManager;
  if (transportManager != null) {
    long oldAudioRemoteSSRC=getRemoteSSRC(MediaType.AUDIO);
    long oldVideoRemoteSSRC=getRemoteSSRC(MediaType.VIDEO);
    for (    MediaType mediaType : MediaType.values()) {
      ColibriConferenceIQ.Channel dst=transportManager.getColibriChannel(mediaType,false);
      if (dst != null) {
        ColibriConferenceIQ.Content content=conferenceIQ.getContent(mediaType.toString());
        if (content != null) {
          ColibriConferenceIQ.Channel src=content.getChannel(dst.getID());
          if (src != null) {
            int[] ssrcs=src.getSSRCs();
            int[] dstSSRCs=dst.getSSRCs();
            if (!Arrays.equals(dstSSRCs,ssrcs))             dst.setSSRCs(ssrcs);
          }
        }
      }
    }
    long newAudioRemoteSSRC=getRemoteSSRC(MediaType.AUDIO);
    long newVideoRemoteSSRC=getRemoteSSRC(MediaType.VIDEO);
    if (oldAudioRemoteSSRC != newAudioRemoteSSRC) {
      firePropertyChange(AUDIO_REMOTE_SSRC,oldAudioRemoteSSRC,newAudioRemoteSSRC);
    }
    if (oldVideoRemoteSSRC != newVideoRemoteSSRC) {
      firePropertyChange(VIDEO_REMOTE_SSRC,oldVideoRemoteSSRC,newVideoRemoteSSRC);
    }
  }
}