Program: 45915
Project: 45915
Buggy source:
/** 
 */
@Override public void initialize(ServerSessionManager manager){
  loaderMap=new HashMap();
  avatarChangedListener=new AvatarChangedListener(){
    public void avatarChanged(    Avatar newAvatar){
      if (camState != null) {
        avatarCellRenderer.removeAvatarChangedListener(avatarChangedListener);
        if (newAvatar.getContext() != null) {
          camState.setTargetCharacter(newAvatar);
        }
 else {
          camState.setTargetCharacter(null);
        }
        CellTransform transform=avatarCellRenderer.getCell().getLocalTransform();
        camState.setCameraPosition(transform.getTranslation(null));
      }
    }
  }
;
  chaseCameraMI=new JRadioButtonMenuItem(bundle.getString("String_Node_Str"));
  chaseCameraMI.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent arg0){
      Vector3f offsetVec=new Vector3f(0.0f,4.0f,-10.0f);
      if (camState == null) {
        camModel=(ChaseCamModel)CameraModels.getCameraModel(ChaseCamModel.class);
        camState=new ChaseCamState(offsetVec,new Vector3f(0.0f,1.8f,0.0f));
        camState.setDamping(1.7f);
        camState.setLookAtDamping(1.7f);
      }
      camState.setCameraPosition(avatarCellRenderer.getCell().getLocalTransform().getTranslation(null).add(offsetVec));
      camState.setTargetCharacter(avatarCellRenderer.getAvatarCharacter());
      ClientContextJME.getViewManager().setCameraController(new FlexibleCameraAdapter(camModel,camState));
    }
  }
);
  gestureMI=new JCheckBoxMenuItem(bundle.getString("String_Node_Str"));
  gestureMI.setSelected(false);
  gestureMI.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      if (gestureHUDRef == null || gestureHUDRef.get() == null) {
        GestureHUD hud=new GestureHUD();
        hud.setAvatarCharacter(avatarCellRenderer.getAvatarCharacter());
        gestureHUDRef=new WeakReference(hud);
      }
      gestureHUDEnabled=!gestureHUDEnabled;
      gestureMI.setSelected(gestureHUDEnabled);
      ((GestureHUD)gestureHUDRef.get()).setVisible(gestureHUDEnabled);
    }
  }
);
  avatarConfigMI=new JMenuItem(bundle.getString("String_Node_Str"));
  avatarConfigMI.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      RenderManager rm=ClientContextJME.getWorldManager().getRenderManager();
      if (rm.supportsOpenGL20() == false || rm.getContextCaps().GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB < 1000) {
        String msg="String_Node_Str" + "String_Node_Str" + "String_Node_Str";
        String title="String_Node_Str";
        JFrame frame=JmeClientMain.getFrame().getFrame();
        JOptionPane.showMessageDialog(frame,msg,title,JOptionPane.ERROR_MESSAGE);
        return;
      }
      AvatarConfigFrame f=new AvatarConfigFrame();
      f.setVisible(true);
    }
  }
);
  collisionEnabledMI=new JCheckBoxMenuItem(bundle.getString("String_Node_Str"));
  collisionEnabledMI.setSelected(false);
  collisionEnabledMI.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      boolean isCollision=collisionEnabledMI.isSelected();
      boolean isGravity=gravityEnabledMI.isSelected();
      ClientContext.getInputManager().postEvent(new AvatarCollisionChangeRequestEvent(isCollision,isGravity));
    }
  }
);
  gravityEnabledMI=new JCheckBoxMenuItem(bundle.getString("String_Node_Str"));
  gravityEnabledMI.setSelected(true);
  gravityEnabledMI.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      boolean isCollision=collisionEnabledMI.isSelected();
      boolean isGravity=gravityEnabledMI.isSelected();
      ClientContext.getInputManager().postEvent(new AvatarCollisionChangeRequestEvent(isCollision,isGravity));
    }
  }
);
  ClientContextJME.getAvatarRenderManager().registerRenderer(manager,AvatarImiJME.class,AvatarControls.class);
  try {
    String serverHostAndPort=manager.getServerNameAndPort();
    String baseURL="String_Node_Str";
    URL url=AssetUtils.getAssetURL(baseURL,serverHostAndPort);
    WorldManager worldManager=ClientContextJME.getWorldManager();
    worldManager.addUserData(Repository.class,new Repository(worldManager,new WonderlandAvatarCache(url.toExternalForm(),ClientContext.getUserDirectory(bundle.getString("String_Node_Str")))));
  }
 catch (  MalformedURLException excp) {
    logger.log(Level.WARNING,"String_Node_Str",excp);
  }
  AvatarSystem.initialize(ClientContextJME.getWorldManager());
  super.initialize(manager);
}

Fixed version (ground truth):
/** 
 */
@Override public void initialize(ServerSessionManager manager){
  loaderMap=new HashMap();
  avatarChangedListener=new AvatarChangedListener(){
    public void avatarChanged(    Avatar newAvatar){
      if (camState != null) {
        avatarCellRenderer.removeAvatarChangedListener(avatarChangedListener);
        if (newAvatar.getContext() != null) {
          camState.setTargetCharacter(newAvatar);
        }
 else {
          camState.setTargetCharacter(null);
        }
        CellTransform transform=avatarCellRenderer.getCell().getLocalTransform();
        camState.setCameraPosition(transform.getTranslation(null));
      }
    }
  }
;
  chaseCameraMI=new JRadioButtonMenuItem(bundle.getString("String_Node_Str"));
  chaseCameraMI.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent arg0){
      Vector3f offsetVec=new Vector3f(0.0f,4.0f,-10.0f);
      if (camState == null) {
        camModel=(ChaseCamModel)CameraModels.getCameraModel(ChaseCamModel.class);
        camState=new ChaseCamState(offsetVec,new Vector3f(0.0f,1.8f,0.0f));
        camState.setDamping(1.7f);
        camState.setLookAtDamping(1.7f);
      }
      camState.setCameraPosition(avatarCellRenderer.getCell().getLocalTransform().getTranslation(null).add(offsetVec));
      camState.setTargetCharacter(avatarCellRenderer.getAvatarCharacter());
      ClientContextJME.getViewManager().setCameraController(new FlexibleCameraAdapter(camModel,camState));
    }
  }
);
  gestureMI=new JCheckBoxMenuItem(bundle.getString("String_Node_Str"));
  gestureMI.setSelected(false);
  gestureMI.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      if (gestureHUDRef == null || gestureHUDRef.get() == null) {
        GestureHUD hud=new GestureHUD();
        hud.setAvatarCharacter(avatarCellRenderer.getAvatarCharacter());
        gestureHUDRef=new WeakReference(hud);
      }
      gestureHUDEnabled=!gestureHUDEnabled;
      gestureMI.setSelected(gestureHUDEnabled);
      ((GestureHUD)gestureHUDRef.get()).setVisible(gestureHUDEnabled);
    }
  }
);
  avatarConfigMI=new JMenuItem(bundle.getString("String_Node_Str"));
  avatarConfigMI.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      RenderManager rm=ClientContextJME.getWorldManager().getRenderManager();
      String shaderCheck=System.getProperty("String_Node_Str");
      boolean shaderPass=true;
      if (shaderCheck != null && shaderCheck.equals("String_Node_Str")) {
        shaderPass=rm.getContextCaps().GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB >= 512;
      }
      if (rm.supportsOpenGL20() == false || !shaderPass) {
        String msg="String_Node_Str" + "String_Node_Str" + "String_Node_Str";
        String title="String_Node_Str";
        JFrame frame=JmeClientMain.getFrame().getFrame();
        JOptionPane.showMessageDialog(frame,msg,title,JOptionPane.ERROR_MESSAGE);
        return;
      }
      AvatarConfigFrame f=new AvatarConfigFrame();
      f.setVisible(true);
    }
  }
);
  collisionEnabledMI=new JCheckBoxMenuItem(bundle.getString("String_Node_Str"));
  collisionEnabledMI.setSelected(false);
  collisionEnabledMI.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      boolean isCollision=collisionEnabledMI.isSelected();
      boolean isGravity=gravityEnabledMI.isSelected();
      ClientContext.getInputManager().postEvent(new AvatarCollisionChangeRequestEvent(isCollision,isGravity));
    }
  }
);
  gravityEnabledMI=new JCheckBoxMenuItem(bundle.getString("String_Node_Str"));
  gravityEnabledMI.setSelected(true);
  gravityEnabledMI.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      boolean isCollision=collisionEnabledMI.isSelected();
      boolean isGravity=gravityEnabledMI.isSelected();
      ClientContext.getInputManager().postEvent(new AvatarCollisionChangeRequestEvent(isCollision,isGravity));
    }
  }
);
  ClientContextJME.getAvatarRenderManager().registerRenderer(manager,AvatarImiJME.class,AvatarControls.class);
  try {
    String serverHostAndPort=manager.getServerNameAndPort();
    String baseURL="String_Node_Str";
    URL url=AssetUtils.getAssetURL(baseURL,serverHostAndPort);
    WorldManager worldManager=ClientContextJME.getWorldManager();
    worldManager.addUserData(Repository.class,new Repository(worldManager,new WonderlandAvatarCache(url.toExternalForm(),ClientContext.getUserDirectory(bundle.getString("String_Node_Str")))));
  }
 catch (  MalformedURLException excp) {
    logger.log(Level.WARNING,"String_Node_Str",excp);
  }
  AvatarSystem.initialize(ClientContextJME.getWorldManager());
  super.initialize(manager);
}