nus-yam/ex-repair huggingface dataset:
Program: 45446
Project: 45446
Buggy source:
public View create(Element element){
  if (element.getName().equals(AbstractDocument.ParagraphElementName)) {
    return new ParagraphView(element){
      @Override public void layout(      int width,      int height){
        super.layout(Short.MAX_VALUE,height);
      }
      @Override public float getMinimumSpan(      int axis){
        return super.getPreferredSpan(axis);
      }
    }
;
  }
  return sf.create(element);
}

Fixed version (ground truth):
public View create(Element element){
  if (element.getName().equals(AbstractDocument.ParagraphElementName)) {
    return new ParagraphView(element){
      @Override public void layout(      int width,      int height){
        try {
          super.layout(Short.MAX_VALUE,height);
        }
 catch (        Throwable t) {
          logger.log(Level.WARNING,"String_Node_Str",t);
        }
      }
      @Override public float getMinimumSpan(      int axis){
        return super.getPreferredSpan(axis);
      }
    }
;
  }
  return sf.create(element);
}
Program: 45447
Project: 45447
Buggy source:
@Override public void layout(int width,int height){
  super.layout(Short.MAX_VALUE,height);
}

Fixed version (ground truth):
@Override public void layout(int width,int height){
  try {
    super.layout(Short.MAX_VALUE,height);
  }
 catch (  Throwable t) {
    logger.log(Level.WARNING,"String_Node_Str",t);
  }
}
Program: 45448
Project: 45448
Buggy source:
public void save(){
  Preferences prefs=Preferences.userNodeForPackage(LogViewerFrame.class);
  prefs=prefs.node("String_Node_Str");
  try {
    prefs.clear();
  }
 catch (  BackingStoreException ex) {
    logger.log(Level.WARNING,"String_Node_Str",ex);
  }
  for (int i=0; i < getRowCount(); i++) {
    String loggerName=(String)getValueAt(i,0);
    Level level=(Level)getValueAt(i,1);
    if (loggerName != null && level != null) {
      Logger.getLogger(loggerName).setLevel(level);
      prefs.put(loggerName,level.getName());
      origLevels.remove(loggerName);
    }
  }
  for (  String loggerName : origLevels.keySet()) {
    Logger.getLogger(loggerName).setLevel(null);
  }
}

Fixed version (ground truth):
public void save(){
  Preferences prefs=Preferences.userNodeForPackage(LogViewerFrame.class);
  prefs=prefs.node("String_Node_Str");
  try {
    prefs.clear();
  }
 catch (  BackingStoreException ex) {
    logger.log(Level.WARNING,"String_Node_Str",ex);
  }
  for (int i=0; i < getRowCount(); i++) {
    String loggerName=(String)getValueAt(i,0);
    Level level=(Level)getValueAt(i,1);
    if (loggerName != null && level != null) {
      Logger.getLogger(loggerName).setLevel(level);
      prefs.put(loggerName,level.getName());
      origLevels.remove(loggerName);
    }
  }
  for (  String loggerName : origLevels.keySet()) {
    Logger removeLogger=Logger.getLogger(loggerName);
    removeLogger.setLevel(null);
    createdLoggers.remove(removeLogger);
  }
}
Program: 45449
Project: 45449
Buggy source:
public void reload(){
  setRowCount(0);
  origLevels=new TreeMap<String,Level>();
  LogManager logManager=LogManager.getLogManager();
  Enumeration<String> loggerNames=logManager.getLoggerNames();
  while (loggerNames.hasMoreElements()) {
    String loggerName=loggerNames.nextElement();
    if (loggerName.length() == 0) {
      continue;
    }
    Level level=logManager.getLogger(loggerName).getLevel();
    if (level == null) {
      continue;
    }
    origLevels.put(loggerName,level);
  }
  for (  Map.Entry<String,Level> e : origLevels.entrySet()) {
    addRow(new Object[]{e.getKey(),e.getValue()});
  }
}

Fixed version (ground truth):
public void reload(){
  setRowCount(0);
  origLevels=new TreeMap<String,Level>();
  LogManager logManager=LogManager.getLogManager();
  Enumeration<String> loggerNames=logManager.getLoggerNames();
  while (loggerNames.hasMoreElements()) {
    String loggerName=loggerNames.nextElement();
    if (loggerName.length() == 0) {
      continue;
    }
    Level level=Logger.getLogger(loggerName).getLevel();
    if (level == null) {
      continue;
    }
    origLevels.put(loggerName,level);
  }
  for (  Map.Entry<String,Level> e : origLevels.entrySet()) {
    addRow(new Object[]{e.getKey(),e.getValue()});
  }
}
Program: 45450
Project: 45450
Buggy source:
public void restore(){
  Preferences prefs=Preferences.userNodeForPackage(LoggerTableModel.class);
  prefs=prefs.node("String_Node_Str");
  try {
    for (    String loggerName : prefs.keys()) {
      Level level=Level.parse(prefs.get(loggerName,"String_Node_Str"));
      Logger.getLogger(loggerName).setLevel(level);
    }
  }
 catch (  BackingStoreException ex) {
    logger.log(Level.WARNING,"String_Node_Str",ex);
  }
}

Fixed version (ground truth):
public void restore(){
  Preferences prefs=Preferences.userNodeForPackage(LoggerTableModel.class);
  prefs=prefs.node("String_Node_Str");
  try {
    for (    String loggerName : prefs.keys()) {
      Level level=Level.parse(prefs.get(loggerName,"String_Node_Str"));
      Logger createLogger=Logger.getLogger(loggerName);
      createLogger.setLevel(level);
      createdLoggers.add(createLogger);
    }
  }
 catch (  BackingStoreException ex) {
    logger.log(Level.WARNING,"String_Node_Str",ex);
  }
}
Program: 45451
Project: 45451
Buggy source:
public LoggerTableModel(){
  super(new Object[]{BUNDLE.getString("String_Node_Str"),BUNDLE.getString("String_Node_Str")},0);
}

Fixed version (ground truth):
public LoggerTableModel(){
  super(new Object[]{BUNDLE.getString("String_Node_Str"),BUNDLE.getString("String_Node_Str")},0);
  createdLoggers=new ArrayList<Logger>();
}
Program: 45454
Project: 45454
Buggy source:
@Override public void commitEvent(Event event){
  if (event instanceof KeyEvent3D) {
    KeyEvent key=(KeyEvent)((KeyEvent3D)event).getAwtEvent();
    if (key.getKeyCode() == KeyEvent.VK_EQUALS) {
      offset.z+=cameraZoom;
      viewMoved(new CellTransform(viewRot,viewTranslation));
    }
 else     if (key.getKeyCode() == KeyEvent.VK_MINUS) {
      offset.z-=cameraZoom;
      viewMoved(new CellTransform(viewRot,viewTranslation));
    }
  }
 else   if (event instanceof MouseEvent3D) {
    MouseEvent mouse=(MouseEvent)((MouseEvent3D)event).getAwtEvent();
    if (mouse instanceof MouseWheelEvent) {
      int clicks=((MouseWheelEvent)mouse).getWheelRotation();
      offset.z-=cameraZoom * clicks;
      viewMoved(new CellTransform(viewRot,viewTranslation));
    }
 else     if (mouse.isControlDown()) {
      int diffX=mouse.getX() - mouseX;
      int diffY=mouse.getY() - mouseY;
      elevation+=Math.toRadians(diffY) / 4f;
      if (elevation > Math.PI / 2)       elevation=(float)Math.PI / 2;
 else       if (elevation < -Math.PI / 2)       elevation=-(float)Math.PI / 2;
      cameraLook.set(0,(float)Math.sin(elevation),1);
      cameraLook.normalize();
      mouseX=mouse.getX();
      mouseY=mouse.getY();
      update(avatarPos,avatarRot);
    }
 else {
      mouseX=mouse.getX();
      mouseY=mouse.getY();
    }
  }
}

Fixed version (ground truth):
@Override public void commitEvent(Event event){
  if (event instanceof KeyEvent3D) {
    KeyEvent key=(KeyEvent)((KeyEvent3D)event).getAwtEvent();
    if (key.getKeyCode() == KeyEvent.VK_EQUALS) {
      offset.z+=cameraZoom;
      viewMoved(new CellTransform(viewRot,viewTranslation));
    }
 else     if (key.getKeyCode() == KeyEvent.VK_MINUS) {
      offset.z-=cameraZoom;
      viewMoved(new CellTransform(viewRot,viewTranslation));
    }
  }
 else   if (event instanceof MouseEvent3D) {
    MouseEvent mouse=(MouseEvent)((MouseEvent3D)event).getAwtEvent();
    if (mouse instanceof MouseWheelEvent) {
      int clicks=((MouseWheelEvent)mouse).getWheelRotation();
      offset.z-=cameraZoom * clicks;
      viewMoved(new CellTransform(viewRot,viewTranslation));
    }
 else     if (mouse.isControlDown()) {
      int diffX=mouse.getX() - mouseX;
      int diffY=mouse.getY() - mouseY;
      float scale=mouse.isShiftDown() ? 4f : 16f;
      elevation+=Math.toRadians(diffY) / scale;
      if (elevation > Math.PI / 2)       elevation=(float)Math.PI / 2;
 else       if (elevation < -Math.PI / 2)       elevation=-(float)Math.PI / 2;
      angle+=Math.toRadians(diffX) / scale;
      if (angle > Math.PI / 2)       angle=(float)Math.PI / 2;
 else       if (angle < -Math.PI / 2)       angle=-(float)Math.PI / 2;
      cameraLook.set((float)Math.sin(angle),(float)Math.sin(elevation),1);
      cameraLook.normalize();
      mouseX=mouse.getX();
      mouseY=mouse.getY();
      update(avatarPos,avatarRot);
    }
 else {
      mouseX=mouse.getX();
      mouseY=mouse.getY();
    }
  }
}
Program: 45455
Project: 45455
Buggy source:
/** 
 * @InternalAPI Set the default user directory.  This is useful in cases where multiple clients are running in the same VM, so changing the System property is not viable.  In other cases, the system property should be used.
 * @param userDirectory the user directory to use
 */
public static void setUserDirectory(File userDir){
  ClientContext.userDir=userDir;
}

Fixed version (ground truth):
/** 
 * @InternalAPI Set the default user directory.  This is useful in cases where multiple clients are running in the same VM, so changing the System property is not viable.  In other cases, the system property should be used.
 * @param userDirectory the user directory to use
 * @param save if true, save this value in a preference for future use
 */
public static void setUserDirectory(File userDir,boolean save){
  if (save) {
    Preferences prefs=Preferences.userNodeForPackage(ClientContext.class);
    prefs.put(USERDIR_PROP,userDir.getPath());
  }
  ClientContext.userDir=userDir;
}
Program: 45456
Project: 45456
Buggy source:
public void viewConfigured(LocalAvatar localAvatar){
  cell=localAvatar.getViewCell();
  if (cell == null) {
    logger.severe("String_Node_Str");
  }
 else {
    CellID cellID=cell.getCellID();
    presenceInfo=pm.getPresenceInfo(cellID);
    controls=new PresenceControls(this,session,pm,presenceInfo);
    logger.fine("String_Node_Str" + cellID + "String_Node_Str"+ presenceInfo+ "String_Node_Str"+ pm);
    connectSoftphone();
    if (cell.getComponent(ProximityComponent.class) == null) {
      cell.addComponent(new ProximityComponent(cell));
    }
    usersMenuSelected=true;
    userListJMenuItem.setSelected(usersMenuSelected);
    showUsers(null);
  }
}

Fixed version (ground truth):
public void viewConfigured(LocalAvatar localAvatar){
  cell=localAvatar.getViewCell();
  if (cell == null) {
    logger.severe("String_Node_Str");
  }
 else {
    CellID cellID=cell.getCellID();
    presenceInfo=pm.getPresenceInfo(cellID);
    controls=new PresenceControls(this,session,pm,presenceInfo);
    logger.fine("String_Node_Str" + cellID + "String_Node_Str"+ presenceInfo+ "String_Node_Str"+ pm);
    connectSoftphone();
    if (cell.getComponent(ProximityComponent.class) == null) {
      cell.addComponent(new ProximityComponent(cell));
    }
    usersMenuSelected=true;
    SwingUtilities.invokeLater(new Runnable(){
      public void run(){
        userListJMenuItem.setSelected(usersMenuSelected);
        showUsers(null);
      }
    }
);
  }
}
Program: 45457
Project: 45457
Buggy source:
/** 
 * Set a list of bounds for which the system will track view enter/exit for this cell. When the view enters/exits one of these bounds the listener will be called with the index of the bounds in the supplied array. The bounds must be ordered from largest to smallest, thus localBounds[i] must enclose localBounds[i+1]
 * @param cell the cell
 */
public ProximityComponent(Cell cell){
  super(cell);
}

Fixed version (ground truth):
/** 
 * Set a list of bounds for which the system will track view enter/exit for this cell. When the view enters/exits one of these bounds the listener will be called with the index of the bounds in the supplied array. The bounds must be ordered from largest to smallest, thus localBounds[i] must enclose localBounds[i+1]
 * @param cell the cell
 */
public ProximityComponent(Cell cell){
  super(cell);
  viewTransformListener=new ViewTransformListener();
  cellTransformListener=new CellTransformListener();
}
Program: 45458
Project: 45458
Buggy source:
/** 
 * Add a proximity listener.
 * @param listener the listener that will be notified
 * @param localBounds the array of bounds (in cell local coordinates) for which the listener will be notified
 */
public void addProximityListener(ProximityListener listener,BoundingVolume[] localBounds){
synchronized (listenerRecords) {
    ProximityListenerRecord lr=new ProximityListenerRecord(new ClientProximityListenerWrapper(cell,listener),localBounds);
    listenerRecords.add(lr);
    if (status != null && status.ordinal() >= CellStatus.ACTIVE.ordinal())     lr.updateWorldBounds(cell.getWorldTransform());
  }
}

Fixed version (ground truth):
/** 
 * Add a proximity listener.
 * @param listener the listener that will be notified
 * @param localBounds the array of bounds (in cell local coordinates) for which the listener will be notified
 */
public void addProximityListener(ProximityListener listener,BoundingVolume[] localBounds){
synchronized (listenerRecords) {
    ProximityListenerRecord lr=new ProximityListenerRecord(new ClientProximityListenerWrapper(cell,listener),localBounds);
    listenerRecords.add(lr);
    if (status != null && status.ordinal() >= CellStatus.ACTIVE.ordinal()) {
      lr.updateWorldBounds(cell.getWorldTransform());
      Cell viewCell=ClientContextJME.getViewManager().getPrimaryViewCell();
      if (viewCell != null) {
        lr.viewCellMoved(viewCell.getCellID(),viewCell.getWorldTransform());
      }
    }
  }
}
Program: 45459
Project: 45459
Buggy source:
@Override protected void setStatus(CellStatus status,boolean increasing){
synchronized (listenerRecords) {
    super.setStatus(status,increasing);
switch (status) {
case ACTIVE:
      if (increasing) {
        if (viewTransformListener == null) {
          viewTransformListener=new ViewTransformListener();
          cellTransformListener=new CellTransformListener();
        }
        CellTransform worldTransform=cell.getWorldTransform();
        for (        ProximityListenerRecord l : listenerRecords)         l.updateWorldBounds(worldTransform);
        cell.getCellCache().getViewCell().addTransformChangeListener(viewTransformListener);
        cell.addTransformChangeListener(cellTransformListener);
      }
    break;
case DISK:
  if (viewTransformListener != null) {
    if (cell.getCellCache().getViewCell() != null) {
      cell.getCellCache().getViewCell().removeTransformChangeListener(viewTransformListener);
    }
    cell.removeTransformChangeListener(cellTransformListener);
  }
break;
}
}
}

Fixed version (ground truth):
@Override protected void setStatus(CellStatus status,boolean increasing){
synchronized (listenerRecords) {
    super.setStatus(status,increasing);
    ViewManager vm=ClientContextJME.getViewManager();
switch (status) {
case ACTIVE:
      if (increasing) {
        CellTransform worldTransform=cell.getWorldTransform();
        for (        ProximityListenerRecord l : listenerRecords)         l.updateWorldBounds(worldTransform);
        vm.addViewManagerListener(this);
        primaryViewCellChanged(null,vm.getPrimaryViewCell());
        cell.addTransformChangeListener(cellTransformListener);
      }
    break;
case DISK:
  if (viewTransformListener != null) {
    vm.removeViewManagerListener(this);
    primaryViewCellChanged(vm.getPrimaryViewCell(),null);
    cell.removeTransformChangeListener(cellTransformListener);
  }
break;
}
}
}
Program: 45460
Project: 45460
Buggy source:
/** 
 * Update local2VWorld and bounds of child and all its children recursively  to reflect changes in a parent
 * @param parent
 * @param child
 * @return the combined bounds of the child and all it's children
 */
private BoundingVolume transformTreeUpdate(Cell parent,Cell child,TransformChangeListener.ChangeSource source){
  CellTransform parentWorldTransform=parent.getWorldTransform();
  CellTransform childTransform=child.getLocalTransform();
  if (childTransform != null) {
    childTransform.mul(parentWorldTransform);
    child.setWorldTransform(childTransform,source);
  }
 else {
    child.setWorldTransform(parentWorldTransform,source);
  }
  BoundingVolume ret=child.getWorldBounds();
  Iterator<Cell> it=child.getChildren().iterator();
  while (it.hasNext()) {
    ret.mergeLocal(transformTreeUpdate(child,it.next(),source));
  }
  child.setWorldBounds(ret);
  return null;
}

Fixed version (ground truth):
/** 
 * Update local2VWorld and bounds of child and all its children recursively  to reflect changes in a parent
 * @param parent
 * @param child
 * @return the combined bounds of the child and all it's children
 */
private BoundingVolume transformTreeUpdate(Cell parent,Cell child,TransformChangeListener.ChangeSource source){
  CellTransform parentWorldTransform=parent.getWorldTransform();
  CellTransform childTransform=child.getLocalTransform();
  if (childTransform != null) {
    childTransform=parentWorldTransform.mul(childTransform);
    child.setWorldTransform(childTransform,source);
  }
 else {
    child.setWorldTransform(parentWorldTransform,source);
  }
  BoundingVolume ret=child.getWorldBounds();
  Iterator<Cell> it=child.getChildren().iterator();
  while (it.hasNext()) {
    ret.mergeLocal(transformTreeUpdate(child,it.next(),source));
  }
  child.setWorldBounds(ret);
  return null;
}
Program: 45461
Project: 45461
Buggy source:
/** 
 * Set the localToVWorld transform for this cell
 * @param localToVWorld
 */
void setWorldTransform(CellTransform worldTransform,TransformChangeListener.ChangeSource source){
  worldTransform=(CellTransform)worldTransform.clone(null);
  cachedVWBounds=localBounds.clone(cachedVWBounds);
  worldTransform.transform(cachedVWBounds);
  local2VW=null;
  notifyTransformChangeListeners(source);
}

Fixed version (ground truth):
/** 
 * Set the localToVWorld transform for this cell
 * @param localToVWorld
 */
void setWorldTransform(CellTransform worldTransform,TransformChangeListener.ChangeSource source){
  this.worldTransform=(CellTransform)worldTransform.clone(null);
  cachedVWBounds=localBounds.clone(cachedVWBounds);
  worldTransform.transform(cachedVWBounds);
  local2VW=null;
  notifyTransformChangeListeners(source);
}
Program: 45463
Project: 45463
Buggy source:
/** 
 * Create all of the Swing windows - and the 3D window
 */
private void createUI(WorldManager wm){
  frame=new MainFrameImpl(wm,width,height);
  frame.getFrame().setLocationRelativeTo(null);
  frame.getFrame().setVisible(true);
  JPanel canvas3D=frame.getCanvas3DPanel();
  ViewManager.initialize(canvas3D.getWidth(),canvas3D.getHeight());
  ViewManager viewManager=ViewManager.getViewManager();
  viewManager.attachViewCanvas(canvas3D);
  CameraComponent cameraComp=viewManager.getCameraComponent();
  InputManager inputManager=ClientContext.getInputManager();
  inputManager.initialize(frame.getCanvas(),cameraComp);
  inputManager.addKeyMouseFocus(inputManager.getGlobalFocusEntity());
  SceneWorker.addWorker(new WorkCommit(){
    public void commit(){
      Thread.currentThread().setUncaughtExceptionHandler(ueh);
    }
  }
);
  frame.setDesiredFrameRate(desiredFrameRate);
}

Fixed version (ground truth):
/** 
 * Create all of the Swing windows - and the 3D window
 */
private void createUI(WorldManager wm,int width,int height){
  frame=new MainFrameImpl(wm,width,height);
  frame.getFrame().setLocationRelativeTo(null);
  frame.getFrame().setVisible(true);
  JPanel canvas3D=frame.getCanvas3DPanel();
  ViewManager.initialize(canvas3D.getWidth(),canvas3D.getHeight());
  ViewManager viewManager=ViewManager.getViewManager();
  viewManager.attachViewCanvas(canvas3D);
  CameraComponent cameraComp=viewManager.getCameraComponent();
  InputManager inputManager=ClientContext.getInputManager();
  inputManager.initialize(frame.getCanvas(),cameraComp);
  inputManager.addKeyMouseFocus(inputManager.getGlobalFocusEntity());
  SceneWorker.addWorker(new WorkCommit(){
    public void commit(){
      Thread.currentThread().setUncaughtExceptionHandler(ueh);
    }
  }
);
  frame.setDesiredFrameRate(desiredFrameRate);
  canvas3D.invalidate();
  frame.getFrame().getContentPane().validate();
}
Program: 45465
Project: 45465
Buggy source:
/** 
 * Create a cell based upon the uri of the content and the file extension of the uploaded file.
 * @param uri The URI of the uploaded content
 */
public static void createCell(String uri){
  String extension=getFileExtension(uri);
  if (extension == null) {
    LOGGER.warning("String_Node_Str" + uri);
    return;
  }
  CellSelectionSPI spi=CellSelectionRegistry.getCellSelectionSPI();
  if (spi == null) {
    final JFrame frame=JmeClientMain.getFrame().getFrame();
    LOGGER.warning("String_Node_Str");
    String message=BUNDLE.getString("String_Node_Str");
    message=MessageFormat.format(message,uri);
    JOptionPane.showMessageDialog(frame,message,BUNDLE.getString("String_Node_Str"),JOptionPane.ERROR_MESSAGE);
    return;
  }
  CellFactorySPI factory=null;
  try {
    factory=spi.getCellSelection(extension);
  }
 catch (  CellCreationException excp) {
    final JFrame frame=JmeClientMain.getFrame().getFrame();
    LOGGER.log(Level.WARNING,"String_Node_Str" + extension,excp);
    String message=BUNDLE.getString("String_Node_Str");
    message=MessageFormat.format(message,uri);
    JOptionPane.showMessageDialog(frame,message,BUNDLE.getString("String_Node_Str"),JOptionPane.ERROR_MESSAGE);
    return;
  }
  if (factory == null) {
    return;
  }
  Properties props=new Properties();
  props.put("String_Node_Str",uri);
  CellServerState state=factory.getDefaultCellServerState(props);
  try {
    CellUtils.createCell(state);
  }
 catch (  CellCreationException excp) {
    LOGGER.log(Level.WARNING,"String_Node_Str" + uri,excp);
  }
}

Fixed version (ground truth):
/** 
 * Create a cell based upon the uri of the content and the file extension of the uploaded file.
 * @param uri The URI of the uploaded content
 */
public static void createCell(String uri){
  String extension=getFileExtension(uri);
  if (extension == null) {
    LOGGER.warning("String_Node_Str" + uri);
    return;
  }
  CellSelectionSPI spi=CellSelectionRegistry.getCellSelectionSPI();
  if (spi == null) {
    final JFrame frame=JmeClientMain.getFrame().getFrame();
    LOGGER.warning("String_Node_Str");
    String message=BUNDLE.getString("String_Node_Str");
    message=MessageFormat.format(message,uri);
    JOptionPane.showMessageDialog(frame,message,BUNDLE.getString("String_Node_Str"),JOptionPane.ERROR_MESSAGE);
    return;
  }
  CellFactorySPI factory=null;
  try {
    factory=spi.getCellSelection(extension);
  }
 catch (  CellCreationException excp) {
    final JFrame frame=JmeClientMain.getFrame().getFrame();
    LOGGER.log(Level.WARNING,"String_Node_Str" + extension);
    String message=BUNDLE.getString("String_Node_Str");
    message=MessageFormat.format(message,uri);
    JOptionPane.showMessageDialog(frame,message,BUNDLE.getString("String_Node_Str"),JOptionPane.ERROR_MESSAGE);
    return;
  }
  if (factory == null) {
    return;
  }
  Properties props=new Properties();
  props.put("String_Node_Str",uri);
  CellServerState state=factory.getDefaultCellServerState(props);
  try {
    CellUtils.createCell(state);
  }
 catch (  CellCreationException excp) {
    LOGGER.log(Level.WARNING,"String_Node_Str" + uri,excp);
  }
}
Program: 45466
Project: 45466
Buggy source:
public void avatarChanged(Avatar newAvatar){
  if (camState != null) {
    avatarCellRenderer.removeAvatarChangedListener(avatarChangedListener);
    if (newAvatar.getContext() != null) {
      camState.setTargetCharacter(newAvatar);
    }
 else {
      camState.setTargetCharacter(null);
    }
    ViewManager viewManager=ViewManager.getViewManager();
    ViewCell viewCell=viewManager.getPrimaryViewCell();
    CellTransform transform=viewCell.getWorldTransform();
    Vector3f translation=transform.getTranslation(null);
    Vector3f offset=new Vector3f(0.0f,4.0f,-10.0f);
    camState.setCameraPosition(translation.add(offset));
  }
}

Fixed version (ground truth):
public void avatarChanged(Avatar newAvatar){
  if (camState != null) {
    avatarCellRenderer.removeAvatarChangedListener(avatarChangedListener);
    if (newAvatar.getContext() != null) {
      camState.setTargetCharacter(newAvatar);
    }
 else {
      camState.setTargetCharacter(null);
    }
    ViewManager viewManager=ViewManager.getViewManager();
    ViewCell viewCell=viewManager.getPrimaryViewCell();
    CellTransform transform=viewCell.getWorldTransform();
    Vector3f translation=transform.getTranslation(null);
    Vector3f offset=new Vector3f(0.0f,4.0f,-10.0f);
    camState.setCameraPosition(translation.add(offset));
  }
  if (gestureHUDRef != null && gestureHUDRef.get() != null) {
    if (newAvatar instanceof WlAvatarCharacter) {
      gestureHUDRef.get().setAvatarCharacter((WlAvatarCharacter)newAvatar);
    }
 else {
      gestureHUDRef.get().setVisible(false);
    }
  }
}
Program: 45471
Project: 45471
Buggy source:
void add(AvatarImiJME avatar){
  if (!(avatar.getCell() instanceof ViewCell))   return;
synchronized (avatarMap) {
    final String username=((ViewCell)avatar.getCell()).getIdentity().getUsername();
    avatarMap.put(username,avatar);
    SwingUtilities.invokeLater(new Runnable(){
      public void run(){
        GridBagConstraints gridBagConstraints=new java.awt.GridBagConstraints();
        gridBagConstraints.insets=new java.awt.Insets(0,0,0,7);
        avatarPanel.add(new JLabel(username),gridBagConstraints);
        final JCheckBox cb=new JCheckBox();
        gridBagConstraints=new java.awt.GridBagConstraints();
        gridBagConstraints.gridwidth=GridBagConstraints.REMAINDER;
        avatarPanel.add(cb,gridBagConstraints);
        cb.addActionListener(new ActionListener(){
          public void actionPerformed(          ActionEvent e){
            AvatarImiJME a=null;
synchronized (avatarMap) {
              a=avatarMap.get(username);
            }
            if (a == null) {
              System.err.println("String_Node_Str" + username);
            }
            a.getAvatarCharacter().getJScene().setPrintCullInfo(cb.isSelected());
          }
        }
);
        avatarPanel.validate();
      }
    }
);
  }
}

Fixed version (ground truth):
public synchronized void add(AvatarImiJME avatar){
  if (!(avatar.getCell() instanceof ViewCell)) {
    return;
  }
  String username=((ViewCell)avatar.getCell()).getIdentity().getUsername();
  avatarMap.put(username,avatar);
  if (frame != null) {
    frame.add(username);
  }
}
Program: 45472
Project: 45472
Buggy source:
/** 
 * Creates new form BoundsDebugger 
 */
public BoundsDebugger(){
  initComponents();
  GridBagConstraints gridBagConstraints=new java.awt.GridBagConstraints();
  JLabel jLabel1=new JLabel(BUNDLE.getString("String_Node_Str"));
  gridBagConstraints=new java.awt.GridBagConstraints();
  gridBagConstraints.insets=new java.awt.Insets(0,0,0,7);
  avatarPanel.add(jLabel1,gridBagConstraints);
  JLabel jLabel2=new JLabel(BUNDLE.getString("String_Node_Str"));
  gridBagConstraints=new java.awt.GridBagConstraints();
  gridBagConstraints.gridwidth=GridBagConstraints.REMAINDER;
  avatarPanel.add(jLabel2,gridBagConstraints);
  JMenuItem editorMI=new JMenuItem(BUNDLE.getString("String_Node_Str"));
  editorMI.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      BoundsDebugger.this.setVisible(true);
    }
  }
);
  JmeClientMain.getFrame().addToToolsMenu(editorMI,2);
}

Fixed version (ground truth):
private BoundsDebugger(){
  SwingUtilities.invokeLater(new Runnable(){
    public void run(){
      createFrame();
    }
  }
);
}
Program: 45473
Project: 45473
Buggy source:
public void run(){
  GridBagConstraints gridBagConstraints=new java.awt.GridBagConstraints();
  gridBagConstraints.insets=new java.awt.Insets(0,0,0,7);
  avatarPanel.add(new JLabel(username),gridBagConstraints);
  final JCheckBox cb=new JCheckBox();
  gridBagConstraints=new java.awt.GridBagConstraints();
  gridBagConstraints.gridwidth=GridBagConstraints.REMAINDER;
  avatarPanel.add(cb,gridBagConstraints);
  cb.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      AvatarImiJME a=null;
synchronized (avatarMap) {
        a=avatarMap.get(username);
      }
      if (a == null) {
        System.err.println("String_Node_Str" + username);
      }
      a.getAvatarCharacter().getJScene().setPrintCullInfo(cb.isSelected());
    }
  }
);
  avatarPanel.validate();
}

Fixed version (ground truth):
public void run(){
  createFrame();
}
Program: 45474
Project: 45474
Buggy source:
void remove(AvatarImiJME avatar){
  if (!(avatar.getCell() instanceof ViewCell))   return;
synchronized (avatarMap) {
    avatarMap.remove(((ViewCell)avatar.getCell()).getIdentity().getUsername());
  }
}

Fixed version (ground truth):
public synchronized void remove(AvatarImiJME avatar){
  if (!(avatar.getCell() instanceof ViewCell))   return;
  avatarMap.remove(((ViewCell)avatar.getCell()).getIdentity().getUsername());
}
Program: 45475
Project: 45475
Buggy source:
/** 
 * Determine if the given user is an owner of the given directory
 * @param type the file type to check
 * @return true if the current user is an owner, or false if not
 */
protected boolean isOwner(FileType type){
  HttpServletRequest req=requestLocal.get();
  Principal p=req.getUserPrincipal();
  if (type.getType() == null) {
    return false;
  }
 else   if (type.getType().equalsIgnoreCase(USERS_DIR)) {
    return (type.getUser() != null) && type.getUser().equalsIgnoreCase(getUserName());
  }
 else   if (type.getType().equalsIgnoreCase(GROUPS_DIR)) {
    if (!(p instanceof UserGroupPrincipal)) {
      return false;
    }
    for (    String group : ((UserGroupPrincipal)p).getGroups()) {
      if (group.equalsIgnoreCase(type.getUser())) {
        return true;
      }
    }
  }
  return false;
}

Fixed version (ground truth):
/** 
 * Determine if the given user is an owner of the given directory
 * @param type the file type to check
 * @return true if the current user is an owner, or false if not
 */
protected boolean isOwner(FileType type){
  HttpServletRequest req=requestLocal.get();
  Principal p=req.getUserPrincipal();
  if (type.getType() == null) {
    return false;
  }
 else   if (type.getType().equalsIgnoreCase(USERS_DIR)) {
    return (type.getUser() != null) && type.getUser().equals(getUserName());
  }
 else   if (type.getType().equalsIgnoreCase(GROUPS_DIR)) {
    String target=type.getUser();
    if (p instanceof UserGroupPrincipal) {
      for (      String group : ((UserGroupPrincipal)p).getGroups()) {
        if (group.equals(target)) {
          return true;
        }
      }
    }
 else     if (p instanceof WebPrincipal) {
      Subject s=((WebPrincipal)p).getSecurityContext().getSubject();
      for (      Group group : s.getPrincipals(Group.class)) {
        if (group.getName().equals(target)) {
          return true;
        }
      }
    }
  }
  return false;
}
Program: 45476
Project: 45476
Buggy source:
@Override public void cleanup(){
  cleanupViews();
  super.cleanup();
  if (embeddedPeer != null) {
    embeddedPeer.dispose();
    embeddedPeer=null;
  }
}

Fixed version (ground truth):
@Override public void cleanup(){
  cleanupViews();
  super.cleanup();
  if (embeddedPeer != null) {
    final EmbeddedPeer e=embeddedPeer;
    embeddedPeer=null;
    SwingUtilities.invokeLater(new Runnable(){
      public void run(){
        e.dispose();
      }
    }
);
  }
}
Program: 45478
Project: 45478
Buggy source:
/** 
 * Specify the size of this WindowSwing. If dims is non-null, the window is switched into "forced size" mode--the window will be always be the size you specify. If dims is null, the window is switched into "preferred size" mode--the window will size will be determined by the size and layout of the embedded Swing component.
 */
public void setSize(Dimension dims){
  if (embeddedPeer == null) {
    throw new RuntimeException("String_Node_Str");
  }
  embeddedPeer.setSize(dims);
  embeddedPeer.validate();
  embeddedPeer.repaint();
}

Fixed version (ground truth):
/** 
 * Specify the size of this WindowSwing. If dims is non-null, the window is switched into "forced size" mode--the window will be always be the size you specify. If dims is null, the window is switched into "preferred size" mode--the window will size will be determined by the size and layout of the embedded Swing component.
 */
public void setSize(final Dimension dims){
  if (embeddedPeer == null) {
    throw new RuntimeException("String_Node_Str");
  }
  SwingUtilities.invokeLater(new Runnable(){
    public void run(){
      embeddedPeer.setSize(dims);
      embeddedPeer.validate();
    }
  }
);
  embeddedPeer.repaint();
}
Program: 45479
Project: 45479
Buggy source:
/** 
 * Re-lay out the contents of this window. This should be called whenever you make changes which affect the layout of the contained component.
 */
public void validate(){
  if (embeddedPeer != null) {
    embeddedPeer.validate();
    embeddedPeer.repaint();
  }
}

Fixed version (ground truth):
/** 
 * Re-lay out the contents of this window. This should be called whenever you make changes which affect the layout of the contained component.
 */
public void validate(){
  if (embeddedPeer != null) {
    SwingUtilities.invokeLater(new Runnable(){
      public void run(){
        embeddedPeer.validate();
      }
    }
);
    embeddedPeer.repaint();
  }
}
Program: 45480
Project: 45480
Buggy source:
/** 
 * Move the client to the given location
 * @param serverURL the url of the server to go to, or null to stayon the current server
 * @param translation the translation
 * @param look the direction to look in, or null to look in the defaultdirection
 * @throws IOException if there is an error going to the new location
 */
public void gotoLocation(String serverURL,final Vector3f translation,final Quaternion look) throws IOException {
  if (serverURL == null) {
    if (curSession == null) {
      throw new IllegalStateException("String_Node_Str");
    }
    serverURL=curSession.getSessionManager().getServerURL();
  }
  if (curSession != null && urlEquals(serverURL,curSession.getSessionManager().getServerURL())) {
    ViewCell vc=curSession.getLocalAvatar().getViewCell();
    if (vc instanceof AvatarCell) {
      ((AvatarCell)vc).triggerGoto(translation,look);
    }
  }
 else {
    ServerLoader sl=new ServerLoader(serverURL,translation,look);
    Thread t=new Thread(sl);
    t.start();
    try {
      t.join();
    }
 catch (    InterruptedException ex) {
      LOGGER.log(Level.WARNING,"String_Node_Str",ex);
    }
    if (sl.getException() != null) {
      throw sl.getException();
    }
  }
}

Fixed version (ground truth):
/** 
 * Move the client to the given location
 * @param serverURL the url of the server to go to, or null to stayon the current server
 * @param translation the translation
 * @param look the direction to look in, or null to look in the defaultdirection
 * @throws IOException if there is an error going to the new location
 */
public void gotoLocation(String serverURL,final Vector3f translation,final Quaternion look) throws IOException {
  if (serverURL == null) {
    if (curSession == null) {
      throw new IllegalStateException("String_Node_Str");
    }
    serverURL=curSession.getSessionManager().getServerURL();
  }
 else {
    URL fullServerURL=new URL(serverURL);
    if (fullServerURL.getFile().isEmpty()) {
      serverURL=serverURL + '/';
    }
  }
  if (curSession != null && urlEquals(serverURL,curSession.getSessionManager().getServerURL())) {
    ViewCell vc=curSession.getLocalAvatar().getViewCell();
    if (vc instanceof AvatarCell) {
      ((AvatarCell)vc).triggerGoto(translation,look);
    }
  }
 else {
    ServerLoader sl=new ServerLoader(serverURL,translation,look);
    Thread t=new Thread(sl);
    t.start();
    try {
      t.join();
    }
 catch (    InterruptedException ex) {
      LOGGER.log(Level.WARNING,"String_Node_Str",ex);
    }
    if (sl.getException() != null) {
      throw sl.getException();
    }
  }
}
Program: 45481
Project: 45481
Buggy source:
public void addViewCache(ViewCache cache){
synchronized (viewCaches) {
    viewCaches.add(cache);
    ArrayList<ViewCache> tmp=new ArrayList();
    tmp.add(cache);
synchronized (rootCells) {
      for (      SpatialCellImpl rootCell : rootCells) {
        rootCell.addViewCache(tmp,this);
      }
    }
  }
}

Fixed version (ground truth):
public void addViewCache(ViewCache cache){
synchronized (viewCaches) {
    viewCaches.add(cache);
synchronized (rootCells) {
      for (      SpatialCellImpl rootCell : rootCells) {
        rootCell.addViewCache(Collections.singletonList(cache),this);
      }
    }
  }
}
Program: 45482
Project: 45482
Buggy source:
public void removeViewCache(ViewCache cache){
synchronized (viewCaches) {
    viewCaches.remove(cache);
  }
}

Fixed version (ground truth):
public void removeViewCache(ViewCache cache){
synchronized (viewCaches) {
    viewCaches.remove(cache);
synchronized (rootCells) {
      for (      SpatialCellImpl rootCell : rootCells) {
        rootCell.removeViewCache(Collections.singletonList(cache),this);
      }
    }
  }
}
Program: 45483
Project: 45483
Buggy source:
private boolean isInGroup(Set<Principal> principals){
  logger.fine("String_Node_Str" + principals.size() + "String_Node_Str"+ group);
  for (  Principal p : principals) {
    logger.fine("String_Node_Str" + p + "String_Node_Str"+ group);
    if (p.getType() == Type.GROUP) {
      String name=p.getId();
      if (name.equals(group) || name.equals("String_Node_Str")) {
        logger.fine("String_Node_Str" + p + "String_Node_Str"+ group);
        return true;
      }
    }
  }
  return false;
}

Fixed version (ground truth):
private boolean isInGroup(Set<Principal> principals){
  logger.fine("String_Node_Str" + principals.size() + "String_Node_Str"+ group);
  for (  Principal p : principals) {
    logger.fine("String_Node_Str" + p + "String_Node_Str"+ group);
    if (p.getType() == Type.GROUP || p.getType() == Type.EVERYBODY) {
      String name=p.getId();
      if (name.equals(group) || name.equals("String_Node_Str")) {
        logger.fine("String_Node_Str" + p + "String_Node_Str"+ group);
        return true;
      }
    }
  }
  return false;
}
Program: 45484
Project: 45484
Buggy source:
public String getId(){
  return GroupMemberResource.class.getName();
}

Fixed version (ground truth):
public String getId(){
  return GroupMemberResource.class.getName() + "String_Node_Str" + group;
}
Program: 45486
Project: 45486
Buggy source:
/** 
 * Unload the cell from memory, sets the Cells status to DISK
 * @param cellId
 */
public void unloadCell(CellID cellId){
  Cell cell=cells.remove(cellId);
  if (cell != null) {
    logger.fine("String_Node_Str" + cell.getName());
    fireCellUnloaded(cell);
    setCellStatus(cell,CellStatus.DISK);
    if (cell.getParent() == null) {
      logger.fine("String_Node_Str" + cell.getName());
      rootCells.remove(cell);
    }
 else {
      cell.getParent().removeChild(cell);
    }
  }
 else {
    logger.log(Level.WARNING,"String_Node_Str" + cellId);
  }
}

Fixed version (ground truth):
/** 
 * Unload the cell from memory, sets the Cells status to DISK
 * @param cellId
 */
public void unloadCell(CellID cellId){
  Cell cell=cells.remove(cellId);
  if (cell != null) {
    logger.fine("String_Node_Str" + cell.getName());
    fireCellUnloaded(cell);
    changeCellStatus(cell,CellStatus.DISK);
    if (cell.getParent() == null) {
      logger.fine("String_Node_Str" + cell.getName());
      rootCells.remove(cell);
    }
 else {
      cell.getParent().removeChild(cell);
    }
  }
 else {
    logger.log(Level.WARNING,"String_Node_Str" + cellId);
  }
}
Program: 45487
Project: 45487
Buggy source:
boolean isOwner(Set<Principal> userPrincipals){
  for (  Principal p : userPrincipals) {
    if (owners.contains(p)) {
      return true;
    }
  }
  return false;
}

Fixed version (ground truth):
boolean isOwner(Set<Principal> userPrincipals){
  for (  Principal p : userPrincipals) {
    if (owners.contains(p)) {
      return true;
    }
    if (p.getType() == Principal.Type.GROUP && p.getId().equals("String_Node_Str")) {
      return true;
    }
  }
  return false;
}
Program: 45488
Project: 45488
Buggy source:
private MapResponseMessage handleMapRequest(WonderlandClientID clientID,MapRequestMessage message){
  logger.warning("String_Node_Str" + message.getName());
  SharedMapImpl map=getMap(message.getName(),false);
  if (map == null) {
    List<String> l=Collections.emptyList();
    return new MapResponseMessage(message.getMessageID(),0,l);
  }
  Collection<String> keys=new ArrayList<String>(map.keySet());
  logger.warning("String_Node_Str" + keys.size() + "String_Node_Str");
  return new MapResponseMessage(message.getMessageID(),map.getVersion(),keys);
}

Fixed version (ground truth):
private MapResponseMessage handleMapRequest(WonderlandClientID clientID,MapRequestMessage message){
  logger.fine("String_Node_Str" + message.getName());
  SharedMapImpl map=getMap(message.getName(),false);
  if (map == null) {
    List<String> l=Collections.emptyList();
    return new MapResponseMessage(message.getMessageID(),0,l);
  }
  Collection<String> keys=new ArrayList<String>(map.keySet());
  logger.fine("String_Node_Str" + keys.size() + "String_Node_Str");
  return new MapResponseMessage(message.getMessageID(),map.getVersion(),keys);
}
Program: 45489
Project: 45489
Buggy source:
private ManagedReference<SharedMapImpl> addMap(String mapName,SharedMapImpl map){
  logger.warning("String_Node_Str" + mapName);
  MapOfMaps maps=mapsRef.get();
  ManagedReference<SharedMapImpl> mapRef=AppContext.getDataManager().createReference(map);
  maps.put(mapName,mapRef);
  return mapRef;
}

Fixed version (ground truth):
private ManagedReference<SharedMapImpl> addMap(String mapName,SharedMapImpl map){
  logger.fine("String_Node_Str" + mapName);
  MapOfMaps maps=mapsRef.get();
  ManagedReference<SharedMapImpl> mapRef=AppContext.getDataManager().createReference(map);
  maps.put(mapName,mapRef);
  return mapRef;
}
Program: 45490
Project: 45490
Buggy source:
private ResponseMessage handleRemoveRequest(WonderlandClientID clientID,RemoveRequestMessage message){
  logger.warning("String_Node_Str" + message.getMapName() + "String_Node_Str"+ message.getPropertyName());
  SharedMapImpl map=getMap(message.getMapName(),false);
  if (map == null || map.remove(clientID,message)) {
    return new OKMessage(message.getMessageID());
  }
  return new ErrorMessage(message.getMessageID(),"String_Node_Str");
}

Fixed version (ground truth):
private ResponseMessage handleRemoveRequest(WonderlandClientID clientID,RemoveRequestMessage message){
  logger.fine("String_Node_Str" + message.getMapName() + "String_Node_Str"+ message.getPropertyName());
  SharedMapImpl map=getMap(message.getMapName(),false);
  if (map == null || map.remove(clientID,message)) {
    return new OKMessage(message.getMessageID());
  }
  return new ErrorMessage(message.getMessageID(),"String_Node_Str");
}
Program: 45491
Project: 45491
Buggy source:
private void removeMap(String mapName){
  logger.warning("String_Node_Str" + mapName);
  MapOfMaps maps=mapsRef.get();
  ManagedReference<SharedMapImpl> mapRef=maps.remove(mapName);
  AppContext.getDataManager().removeObject(mapRef.get());
}

Fixed version (ground truth):
private void removeMap(String mapName){
  logger.fine("String_Node_Str" + mapName);
  MapOfMaps maps=mapsRef.get();
  ManagedReference<SharedMapImpl> mapRef=maps.remove(mapName);
  AppContext.getDataManager().removeObject(mapRef.get());
}
Program: 45492
Project: 45492
Buggy source:
private GetResponseMessage handleGetRequest(WonderlandClientID clientID,GetRequestMessage message){
  logger.warning("String_Node_Str" + message.getMapName() + "String_Node_Str"+ message.getPropertyName());
  SharedMapImpl map=getMap(message.getMapName(),false);
  if (map == null) {
    return new GetResponseMessage(message.getMessageID(),0,null);
  }
  logger.warning("String_Node_Str" + map.get(message.getPropertyName()));
  return new GetResponseMessage(message.getMessageID(),map.getVersion(),map.get(message.getPropertyName()));
}

Fixed version (ground truth):
private GetResponseMessage handleGetRequest(WonderlandClientID clientID,GetRequestMessage message){
  logger.fine("String_Node_Str" + message.getMapName() + "String_Node_Str"+ message.getPropertyName());
  SharedMapImpl map=getMap(message.getMapName(),false);
  if (map == null) {
    return new GetResponseMessage(message.getMessageID(),0,null);
  }
  logger.fine("String_Node_Str" + map.get(message.getPropertyName()));
  return new GetResponseMessage(message.getMessageID(),map.getVersion(),map.get(message.getPropertyName()));
}
Program: 45493
Project: 45493
Buggy source:
private ResponseMessage handlePutRequest(WonderlandClientID clientID,PutRequestMessage message){
  logger.warning("String_Node_Str" + message.getMapName() + "String_Node_Str"+ message.getPropertyName()+ "String_Node_Str"+ message.getPropertyValue().toString());
  SharedMapImpl map=getMap(message.getMapName(),true);
  if (map.put(clientID,message)) {
    return new OKMessage(message.getMessageID());
  }
  return new ErrorMessage(message.getMessageID(),"String_Node_Str");
}

Fixed version (ground truth):
private ResponseMessage handlePutRequest(WonderlandClientID clientID,PutRequestMessage message){
  logger.fine("String_Node_Str" + message.getMapName() + "String_Node_Str"+ message.getPropertyName());
  SharedMapImpl map=getMap(message.getMapName(),true);
  if (map.put(clientID,message)) {
    return new OKMessage(message.getMessageID());
  }
  return new ErrorMessage(message.getMessageID(),"String_Node_Str");
}
Program: 45494
Project: 45494
Buggy source:
@Override public void messageReceived(WonderlandClientSender sender,WonderlandClientID clientID,CellMessage message){
  ResponseMessage response;
  logger.warning("String_Node_Str" + message.getClass().getSimpleName());
  if (message instanceof MapRequestMessage) {
    response=handleMapRequest(clientID,(MapRequestMessage)message);
  }
 else   if (message instanceof GetRequestMessage) {
    response=handleGetRequest(clientID,(GetRequestMessage)message);
  }
 else   if (message instanceof PutRequestMessage) {
    response=handlePutRequest(clientID,(PutRequestMessage)message);
  }
 else   if (message instanceof RemoveRequestMessage) {
    response=handleRemoveRequest(clientID,(RemoveRequestMessage)message);
  }
 else {
    String error="String_Node_Str" + "String_Node_Str" + message.getClass() + "String_Node_Str"+ message;
    logger.warning(error);
    response=new ErrorMessage(message.getMessageID(),error);
  }
  sender.send(clientID,response);
}

Fixed version (ground truth):
@Override public void messageReceived(WonderlandClientSender sender,WonderlandClientID clientID,CellMessage message){
  ResponseMessage response;
  logger.fine("String_Node_Str" + message.getClass().getSimpleName());
  if (message instanceof MapRequestMessage) {
    response=handleMapRequest(clientID,(MapRequestMessage)message);
  }
 else   if (message instanceof GetRequestMessage) {
    response=handleGetRequest(clientID,(GetRequestMessage)message);
  }
 else   if (message instanceof PutRequestMessage) {
    response=handlePutRequest(clientID,(PutRequestMessage)message);
  }
 else   if (message instanceof RemoveRequestMessage) {
    response=handleRemoveRequest(clientID,(RemoveRequestMessage)message);
  }
 else {
    String error="String_Node_Str" + "String_Node_Str" + message.getClass() + "String_Node_Str"+ message;
    logger.warning(error);
    response=new ErrorMessage(message.getMessageID(),error);
  }
  sender.send(clientID,response);
}
Program: 45495
Project: 45495
Buggy source:
public void commit(){
  updatePickGeometry();
}

Fixed version (ground truth):
public void commit(){
  PTransform xform=new PTransform(look,position,new Vector3f(1,1,1));
  avatarCharacter.getModelInst().setTransform(xform);
}