Program: 105017
Project: 105017
Buggy source:
/** 
 * Updates the view that this <tt>VideoChannel</tt> has of the translated peer <tt>VideoChannel</tt>.
 * @param peerVideoChannel
 */
public void updateTranslatedVideoChannel(VideoChannel peerVideoChannel){
  if (peerVideoChannel == null) {
    logWarn("String_Node_Str" + "String_Node_Str");
    return;
  }
  if (peerVideoChannel == this) {
    return;
  }
  if (simulcastMode != SimulcastMode.REWRITING) {
    logDebug("String_Node_Str");
  }
  SimulcastEngine sim=peerVideoChannel.getTransformEngine().getSimulcastEngine();
  if (sim == null) {
    logDebug("String_Node_Str" + "String_Node_Str");
    return;
  }
  SortedSet<SimulcastLayer> layers=sim.getSimulcastReceiver().getSimulcastLayers();
  if (layers == null || layers.size() == 0) {
    logDebug("String_Node_Str" + "String_Node_Str");
    return;
  }
  logDebug("String_Node_Str");
  final Set<Integer> ssrcGroup=new HashSet<Integer>();
  final Map<Integer,Integer> rtxGroups=new HashMap<Integer,Integer>();
  for (  SimulcastLayer layer : layers) {
    int primarySSRC=(int)layer.getPrimarySSRC();
    int rtxSSRC=(int)layer.getRTXSSRC();
    ssrcGroup.add(primarySSRC);
    if (rtxSSRC != -1) {
      rtxGroups.put(rtxSSRC,primarySSRC);
    }
  }
  SimulcastLayer baseLayer=layers.first();
  final Integer ssrcTargetPrimary=(int)baseLayer.getPrimarySSRC();
  final Integer ssrcTargetRTX=(int)baseLayer.getRTXSSRC();
  final Map<Integer,Byte> ssrc2fec=new HashMap<Integer,Byte>();
  final Map<Integer,Byte> ssrc2red=new HashMap<Integer,Byte>();
  for (  Map.Entry<Byte,MediaFormat> entry : peerVideoChannel.getStream().getDynamicRTPPayloadTypes().entrySet()) {
    Byte pt=entry.getKey();
    MediaFormat format=entry.getValue();
    if (Constants.RED.equals(format.getEncoding())) {
      for (      Integer ssrc : ssrcGroup) {
        ssrc2red.put(ssrc,pt);
      }
      for (      Integer ssrc : rtxGroups.keySet()) {
        ssrc2red.put(ssrc,pt);
      }
    }
    if (Constants.ULPFEC.equals(entry.getValue().getEncoding())) {
      for (      Integer ssrc : ssrcGroup) {
        ssrc2fec.put(ssrc,pt);
      }
      for (      Integer ssrc : rtxGroups.keySet()) {
        ssrc2fec.put(ssrc,pt);
      }
    }
  }
  getStream().configureSSRCRewriting(ssrcGroup,ssrcTargetPrimary,ssrc2fec,ssrc2red,rtxGroups,ssrcTargetRTX);
}

Fixed version (ground truth):
/** 
 * Updates the view that this <tt>VideoChannel</tt> has of the translated peer <tt>VideoChannel</tt>.
 * @param peerVideoChannel
 */
public void updateTranslatedVideoChannel(VideoChannel peerVideoChannel){
  if (peerVideoChannel == null) {
    logWarn("String_Node_Str" + "String_Node_Str");
    return;
  }
  if (peerVideoChannel == this) {
    logDebug("String_Node_Str" + "String_Node_Str");
    return;
  }
  if (simulcastMode == null) {
    logWarn("String_Node_Str");
    return;
  }
  if (simulcastMode != SimulcastMode.REWRITING) {
    logDebug("String_Node_Str");
  }
  SimulcastEngine sim=peerVideoChannel.getTransformEngine().getSimulcastEngine();
  if (sim == null) {
    logDebug("String_Node_Str" + "String_Node_Str");
    return;
  }
  SortedSet<SimulcastLayer> layers=sim.getSimulcastReceiver().getSimulcastLayers();
  if (layers == null || layers.size() == 0) {
    logDebug("String_Node_Str" + "String_Node_Str");
    return;
  }
  logDebug("String_Node_Str");
  final Set<Integer> ssrcGroup=new HashSet<Integer>();
  final Map<Integer,Integer> rtxGroups=new HashMap<Integer,Integer>();
  for (  SimulcastLayer layer : layers) {
    int primarySSRC=(int)layer.getPrimarySSRC();
    int rtxSSRC=(int)layer.getRTXSSRC();
    ssrcGroup.add(primarySSRC);
    if (rtxSSRC != -1) {
      rtxGroups.put(rtxSSRC,primarySSRC);
    }
  }
  SimulcastLayer baseLayer=layers.first();
  final Integer ssrcTargetPrimary=(int)baseLayer.getPrimarySSRC();
  final Integer ssrcTargetRTX=(int)baseLayer.getRTXSSRC();
  final Map<Integer,Byte> ssrc2fec=new HashMap<Integer,Byte>();
  final Map<Integer,Byte> ssrc2red=new HashMap<Integer,Byte>();
  for (  Map.Entry<Byte,MediaFormat> entry : peerVideoChannel.getStream().getDynamicRTPPayloadTypes().entrySet()) {
    Byte pt=entry.getKey();
    MediaFormat format=entry.getValue();
    if (Constants.RED.equals(format.getEncoding())) {
      for (      Integer ssrc : ssrcGroup) {
        ssrc2red.put(ssrc,pt);
      }
      for (      Integer ssrc : rtxGroups.keySet()) {
        ssrc2red.put(ssrc,pt);
      }
    }
    if (Constants.ULPFEC.equals(entry.getValue().getEncoding())) {
      for (      Integer ssrc : ssrcGroup) {
        ssrc2fec.put(ssrc,pt);
      }
      for (      Integer ssrc : rtxGroups.keySet()) {
        ssrc2fec.put(ssrc,pt);
      }
    }
  }
  getStream().configureSSRCRewriting(ssrcGroup,ssrcTargetPrimary,ssrc2fec,ssrc2red,rtxGroups,ssrcTargetRTX);
}