Program: 46283
Project: 46283
Buggy source:
public void callStatusChanged(CallStatus status){
  logger.finer("String_Node_Str" + status);
  int code=status.getCode();
  String callId=status.getCallId();
  if (callId == null) {
    logger.warning("String_Node_Str" + status);
    return;
  }
  CommsManager cm=WonderlandContext.getCommsManager();
  WonderlandClientSender sender=cm.getSender(AudioManagerConnectionType.CONNECTION_TYPE);
  VoiceManager vm=AppContext.getManager(VoiceManager.class);
switch (code) {
case CallStatus.ESTABLISHED:
    Call call=vm.getCall(callId);
  if (call == null) {
    logger.warning("String_Node_Str" + callId);
    return;
  }
Player player=call.getPlayer();
if (player == null) {
logger.warning("String_Node_Str" + call);
return;
}
vm.dump("String_Node_Str");
player.setPrivateMixes(true);
break;
case CallStatus.STARTEDSPEAKING:
sender.send(new SpeakingMessage(callId,true));
break;
case CallStatus.STOPPEDSPEAKING:
sender.send(new SpeakingMessage(callId,false));
break;
case CallStatus.BRIDGE_OFFLINE:
logger.info("String_Node_Str" + status);
if (callId.length() == 0) {
logger.fine("String_Node_Str");
}
 else {
Call c=vm.getCall(callId);
if (c == null) {
logger.warning("String_Node_Str" + callId);
break;
}
Player p=c.getPlayer();
if (p == null) {
logger.warning("String_Node_Str" + callId);
break;
}
try {
c.end(true);
}
 catch (IOException e) {
logger.warning("String_Node_Str" + callId);
}
try {
setupCall(callId,c.getSetup(),-p.getX(),p.getY(),p.getZ(),p.getOrientation());
}
 catch (IOException e) {
logger.warning("String_Node_Str" + c + "String_Node_Str"+ e.getMessage());
}
}
break;
}
}

Fixed version (ground truth):
public void callStatusChanged(CallStatus status){
  logger.finer("String_Node_Str" + status);
  int code=status.getCode();
  String callId=status.getCallId();
  if (callId == null) {
    logger.warning("String_Node_Str" + status);
    return;
  }
  CommsManager cm=WonderlandContext.getCommsManager();
  WonderlandClientSender sender=cm.getSender(AudioManagerConnectionType.CONNECTION_TYPE);
  VoiceManager vm=AppContext.getManager(VoiceManager.class);
switch (code) {
case CallStatus.ESTABLISHED:
    Call call=vm.getCall(callId);
  if (call == null) {
    logger.warning("String_Node_Str" + callId);
    return;
  }
Player player=call.getPlayer();
if (player == null) {
logger.warning("String_Node_Str" + call);
return;
}
vm.dump("String_Node_Str");
player.setPrivateMixes(true);
break;
case CallStatus.STARTEDSPEAKING:
sender.send(new SpeakingMessage(callId,true));
break;
case CallStatus.STOPPEDSPEAKING:
sender.send(new SpeakingMessage(callId,false));
break;
case CallStatus.BRIDGE_OFFLINE:
logger.info("String_Node_Str" + status);
Call c=vm.getCall(callId);
if (callId == null || callId.length() == 0) {
logger.fine("String_Node_Str");
}
 else {
if (c == null) {
logger.warning("String_Node_Str" + callId);
break;
}
Player p=c.getPlayer();
if (p == null) {
logger.warning("String_Node_Str" + callId);
break;
}
try {
c.end(true);
}
 catch (IOException e) {
logger.warning("String_Node_Str" + callId);
}
try {
setupCall(callId,c.getSetup(),-p.getX(),p.getY(),p.getZ(),p.getOrientation());
}
 catch (IOException e) {
logger.warning("String_Node_Str" + c + "String_Node_Str"+ e.getMessage());
}
}
break;
}
}