Program: 45955
Project: 45955
Buggy source:
public void messageReceived(WonderlandClientSender sender,WonderlandClientID clientID,Message message){
  VoiceManager vm=AppContext.getManager(VoiceManager.class);
  if (message instanceof GetVoiceBridgeRequestMessage) {
    BridgeInfo bridgeInfo;
    try {
      bridgeInfo=vm.getVoiceBridge();
      System.out.println("String_Node_Str" + bridgeInfo + "String_Node_Str");
    }
 catch (    IOException e) {
      System.out.println("String_Node_Str" + e.getMessage());
      return;
    }
    sender.send(clientID,new GetVoiceBridgeResponseMessage(bridgeInfo.toString()));
    return;
  }
  if (message instanceof PlaceCallRequestMessage) {
    logger.fine("String_Node_Str" + clientID);
    placeCall(clientID,(PlaceCallRequestMessage)message);
    return;
  }
  if (message instanceof EndCallMessage) {
    EndCallMessage msg=(EndCallMessage)message;
    String callID=msg.getCallID();
    Call call=vm.getCall(callID);
    if (call == null) {
      logger.fine("String_Node_Str" + callID);
      return;
    }
    try {
      vm.endCall(call,true);
    }
 catch (    IOException e) {
      logger.warning("String_Node_Str" + call + "String_Node_Str"+ e.getMessage());
    }
    sender.send(new CallEndedMessage(msg.getCallID(),msg.getReason()));
    return;
  }
  if (message instanceof MuteCallRequestMessage) {
    MuteCallRequestMessage msg=(MuteCallRequestMessage)message;
    String callID=msg.getCallID();
    Call call=vm.getCall(callID);
    if (call == null) {
      logger.fine("String_Node_Str" + callID);
      return;
    }
    try {
      call.mute(msg.isMuted());
    }
 catch (    IOException e) {
      logger.warning("String_Node_Str" + callID + "String_Node_Str"+ e.getMessage());
      return;
    }
    return;
  }
  if (message instanceof TransferCallRequestMessage) {
    TransferCallRequestMessage msg=(TransferCallRequestMessage)message;
    String callID=msg.getPresenceInfo().callID;
    Call call=vm.getCall(callID);
    if (call == null) {
      if (msg.getCancel() == true) {
        return;
      }
      double x=0;
      double y=0;
      double z=0;
      double orientation=0;
      Player player=vm.getPlayer(callID);
      if (player != null) {
        x=-player.getX();
        y=player.getY();
        z=player.getZ();
        orientation=player.getOrientation();
      }
      placeCall(clientID,new PlaceCallRequestMessage(msg.getPresenceInfo(),msg.getPhoneNumber(),x,y,z,orientation,true));
      return;
    }
    CallParticipant cp=call.getSetup().cp;
    if (msg.getCancel() == true) {
      try {
        call.transfer(cp,true);
      }
 catch (      IOException e) {
        logger.warning("String_Node_Str" + e.getMessage());
      }
      return;
    }
    if (msg.getPhoneNumber().equals(cp.getPhoneNumber())) {
      sender.send(clientID,new CallMigrateMessage(msg.getPresenceInfo().callID,true));
      return;
    }
    cp.setPhoneNumber(msg.getPhoneNumber());
    setJoinConfirmation(cp);
    try {
      call.transfer(cp,false);
    }
 catch (    IOException e) {
      logger.warning("String_Node_Str" + e.getMessage());
    }
    return;
  }
  if (message instanceof AudioVolumeMessage) {
    changeAudioVolume((AudioVolumeMessage)message);
    return;
  }
  if (message instanceof ChangeUsernameAliasMessage) {
    sender.send(message);
    return;
  }
  if (message instanceof VoiceChatMessage) {
    VoiceChatHandler.getInstance().processVoiceChatMessage(sender,clientID,(VoiceChatMessage)message);
    return;
  }
  if (message instanceof PlayTreatmentRequestMessage) {
    PlayTreatmentRequestMessage msg=(PlayTreatmentRequestMessage)message;
    Call call=vm.getCall(msg.getCallID());
    if (call == null) {
      logger.warning("String_Node_Str" + msg.getCallID());
      return;
    }
    try {
      call.playTreatment(msg.getTreatment());
    }
 catch (    IOException e) {
      logger.warning("String_Node_Str" + msg.getTreatment() + "String_Node_Str"+ call+ "String_Node_Str"+ e.getMessage());
    }
    return;
  }
  throw new UnsupportedOperationException("String_Node_Str" + message);
}

Fixed version (ground truth):
public void messageReceived(WonderlandClientSender sender,WonderlandClientID clientID,Message message){
  VoiceManager vm=AppContext.getManager(VoiceManager.class);
  if (message instanceof GetVoiceBridgeRequestMessage) {
    BridgeInfo bridgeInfo;
    try {
      bridgeInfo=vm.getVoiceBridge();
      System.out.println("String_Node_Str" + bridgeInfo + "String_Node_Str");
    }
 catch (    IOException e) {
      System.out.println("String_Node_Str" + e.getMessage());
      return;
    }
    sender.send(clientID,new GetVoiceBridgeResponseMessage(bridgeInfo.toString()));
    return;
  }
  if (message instanceof PlaceCallRequestMessage) {
    logger.fine("String_Node_Str" + clientID);
    placeCall(clientID,(PlaceCallRequestMessage)message);
    return;
  }
  if (message instanceof EndCallMessage) {
    EndCallMessage msg=(EndCallMessage)message;
    String callID=msg.getCallID();
    Call call=vm.getCall(callID);
    if (call == null) {
      logger.fine("String_Node_Str" + callID);
      return;
    }
    try {
      vm.endCall(call,true);
    }
 catch (    IOException e) {
      logger.warning("String_Node_Str" + call + "String_Node_Str"+ e.getMessage());
    }
    sender.send(new CallEndedMessage(msg.getCallID(),msg.getReason()));
    return;
  }
  if (message instanceof MuteCallRequestMessage) {
    MuteCallRequestMessage msg=(MuteCallRequestMessage)message;
    String callID=msg.getCallID();
    Call call=vm.getCall(callID);
    if (call == null) {
      logger.fine("String_Node_Str" + callID);
      return;
    }
    try {
      call.mute(msg.isMuted());
    }
 catch (    IOException e) {
      logger.warning("String_Node_Str" + callID + "String_Node_Str"+ e.getMessage());
      return;
    }
    return;
  }
  if (message instanceof TransferCallRequestMessage) {
    TransferCallRequestMessage msg=(TransferCallRequestMessage)message;
    String callID=msg.getPresenceInfo().callID;
    Call call=vm.getCall(callID);
    if (call == null) {
      if (msg.getCancel() == true) {
        return;
      }
      double x=0;
      double y=0;
      double z=0;
      double orientation=0;
      Player player=vm.getPlayer(callID);
      if (player != null) {
        x=-player.getX();
        y=player.getY();
        z=player.getZ();
        orientation=player.getOrientation();
      }
      placeCall(clientID,new PlaceCallRequestMessage(msg.getPresenceInfo(),msg.getPhoneNumber(),x,y,z,orientation,true));
      return;
    }
    CallParticipant cp=call.getSetup().cp;
    if (msg.getCancel() == true) {
      try {
        call.transfer(cp,true);
      }
 catch (      IOException e) {
        logger.warning("String_Node_Str" + e.getMessage());
      }
      return;
    }
    if (msg.getPhoneNumber().equals(cp.getPhoneNumber())) {
      sender.send(clientID,new CallMigrateMessage(msg.getPresenceInfo().callID,true));
      return;
    }
    cp.setPhoneNumber(msg.getPhoneNumber());
    setJoinConfirmation(cp);
    try {
      call.transfer(cp,false);
    }
 catch (    IOException e) {
      logger.warning("String_Node_Str" + e.getMessage());
    }
    return;
  }
  if (message instanceof AudioVolumeMessage) {
    handleAudioVolume(sender,clientID,(AudioVolumeMessage)message);
    return;
  }
  if (message instanceof ChangeUsernameAliasMessage) {
    sender.send(message);
    return;
  }
  if (message instanceof VoiceChatMessage) {
    VoiceChatHandler.getInstance().processVoiceChatMessage(sender,clientID,(VoiceChatMessage)message);
    return;
  }
  if (message instanceof PlayTreatmentRequestMessage) {
    PlayTreatmentRequestMessage msg=(PlayTreatmentRequestMessage)message;
    Call call=vm.getCall(msg.getCallID());
    if (call == null) {
      logger.warning("String_Node_Str" + msg.getCallID());
      return;
    }
    try {
      call.playTreatment(msg.getTreatment());
    }
 catch (    IOException e) {
      logger.warning("String_Node_Str" + msg.getTreatment() + "String_Node_Str"+ call+ "String_Node_Str"+ e.getMessage());
    }
    return;
  }
  throw new UnsupportedOperationException("String_Node_Str" + message);
}