Program: 45870
Project: 45870
Buggy source:
/** 
 */
public void primaryViewCellChanged(ViewCell oldViewCell,final ViewCell newViewCell){
  logger.warning("String_Node_Str" + newViewCell.getName());
  CellRenderer rend=newViewCell.getCellRenderer(RendererType.RENDERER_JME);
  if (!(rend instanceof AvatarImiJME)) {
    logger.warning("String_Node_Str" + newViewCell.getName() + "String_Node_Str");
    return;
  }
  if (avatarCellRenderer != null) {
    avatarCellRenderer.removeAvatarChangedListener(avatarChangedListener);
  }
  avatarCellRenderer=(AvatarImiJME)rend;
  avatarCellRenderer.addAvatarChangedListener(avatarChangedListener);
  if (camState != null) {
    camState.setTargetCharacter(avatarCellRenderer.getAvatarCharacter());
    camModel.reset(camState);
  }
  if (gestureHUDRef != null && gestureHUDRef.get() != null) {
    gestureHUDRef.get().setAvatarCharacter(avatarCellRenderer.getAvatarCharacter());
  }
  if (inUseListener == null) {
    inUseListener=new AvatarInUseListener(){
      public void avatarInUse(      AvatarSPI avatar,      boolean isLocal){
        refreshAvatarInUse(newViewCell,isLocal);
      }
    }
;
    AvatarRegistry.getAvatarRegistry().addAvatarInUseListener(inUseListener);
  }
  refreshAvatarInUse(newViewCell,false);
  if (menusAdded == false) {
    MainFrame frame=JmeClientMain.getFrame();
    frame.addToWindowMenu(gestureMI,0);
    frame.addToToolsMenu(gravityEnabledMI,-1);
    frame.addToToolsMenu(collisionEnabledMI,-1);
    frame.addToEditMenu(avatarConfigMI,0);
    if (frame instanceof MainFrameImpl) {
      ((MainFrameImpl)frame).addToCameraChoices(chaseCameraMI,3);
    }
 else {
      frame.addToViewMenu(chaseCameraMI,3);
    }
    if (avatarControlsMI != null) {
      frame.addToWindowMenu(avatarControlsMI,0);
    }
    if (avatarSettingsMI != null) {
      frame.addToEditMenu(avatarSettingsMI,1);
    }
    menusAdded=true;
  }
}

Fixed version (ground truth):
/** 
 */
public void primaryViewCellChanged(ViewCell oldViewCell,final ViewCell newViewCell){
  logger.info("String_Node_Str" + newViewCell.getName());
  CellRenderer rend=newViewCell.getCellRenderer(RendererType.RENDERER_JME);
  if (!(rend instanceof AvatarImiJME)) {
    logger.warning("String_Node_Str" + newViewCell.getName() + "String_Node_Str");
    return;
  }
  if (avatarCellRenderer != null) {
    avatarCellRenderer.removeAvatarChangedListener(avatarChangedListener);
  }
  avatarCellRenderer=(AvatarImiJME)rend;
  avatarCellRenderer.addAvatarChangedListener(avatarChangedListener);
  if (camState != null) {
    camState.setTargetCharacter(avatarCellRenderer.getAvatarCharacter());
    camModel.reset(camState);
  }
  if (gestureHUDRef != null && gestureHUDRef.get() != null) {
    gestureHUDRef.get().setAvatarCharacter(avatarCellRenderer.getAvatarCharacter());
  }
  if (inUseListener == null) {
    inUseListener=new AvatarInUseListener(){
      public void avatarInUse(      AvatarSPI avatar,      boolean isLocal){
        refreshAvatarInUse(newViewCell,isLocal);
      }
    }
;
    AvatarRegistry.getAvatarRegistry().addAvatarInUseListener(inUseListener);
  }
  refreshAvatarInUse(newViewCell,false);
  if (menusAdded == false) {
    MainFrame frame=JmeClientMain.getFrame();
    frame.addToWindowMenu(gestureMI,0);
    frame.addToToolsMenu(gravityEnabledMI,-1);
    frame.addToToolsMenu(collisionEnabledMI,-1);
    frame.addToEditMenu(avatarConfigMI,0);
    if (frame instanceof MainFrameImpl) {
      ((MainFrameImpl)frame).addToCameraChoices(chaseCameraMI,3);
    }
 else {
      frame.addToViewMenu(chaseCameraMI,3);
    }
    if (avatarControlsMI != null) {
      frame.addToWindowMenu(avatarControlsMI,0);
    }
    if (avatarSettingsMI != null) {
      frame.addToEditMenu(avatarSettingsMI,1);
    }
    menusAdded=true;
  }
}