Program: 58476
Project: 58476
Buggy source:
public void draw(final GL gl,PickingManager pickingManager,TextureManager textureManager,int viewID,int pickingID){
  sliderHeight=relativeSliderHeight * layout.getOverviewHeight();
  sliderPositionY=layout.getOverviewMinSliderPositionY() + relativePositionY * layout.getOverviewHeight();
  float sliderWidth=layout.getOverviewSliderWidth();
  arrowHeight=(2.0f * sliderWidth <= sliderHeight) ? sliderWidth : sliderHeight / 2.0f;
  bodyHeight=sliderHeight - 2.0f * arrowHeight;
  float sliderPositionX=layout.getOverviewSliderPositionX();
  gl.glPushName(pickingManager.getPickingID(viewID,EPickingType.COMPARE_OVERVIEW_SLIDER_ARROW_DOWN_SELECTION,pickingID));
  Vec3f upperLeftCorner=new Vec3f(sliderPositionX,sliderPositionY,0.0f);
  Vec3f upperRightCorner=new Vec3f(sliderPositionX + sliderWidth,sliderPositionY,0.0f);
  Vec3f lowerRightCorner=new Vec3f(sliderPositionX + sliderWidth,sliderPositionY + arrowHeight,0.0f);
  Vec3f lowerLeftCorner=new Vec3f(sliderPositionX,sliderPositionY + arrowHeight,0.0f);
  textureManager.renderTexture(gl,EIconTextures.HEAT_MAP_ARROW,lowerLeftCorner,lowerRightCorner,upperRightCorner,upperLeftCorner,1,1,1,1);
  gl.glPopName();
  gl.glColor4f(0.5f,0.5f,0.5f,1.0f);
  gl.glPushName(pickingManager.getPickingID(viewID,EPickingType.COMPARE_OVERVIEW_SLIDER_BODY_SELECTION,pickingID));
  gl.glBegin(GL.GL_QUADS);
  gl.glVertex3f(lowerLeftCorner.x(),lowerLeftCorner.y(),0.0f);
  gl.glVertex3f(lowerRightCorner.x(),lowerRightCorner.y(),0.0f);
  gl.glVertex3f(lowerRightCorner.x(),lowerRightCorner.y() + bodyHeight,0.0f);
  gl.glVertex3f(lowerLeftCorner.x(),lowerLeftCorner.y() + bodyHeight,0.0f);
  gl.glEnd();
  gl.glPopName();
  gl.glPushName(pickingManager.getPickingID(viewID,EPickingType.COMPARE_OVERVIEW_SLIDER_ARROW_UP_SELECTION,pickingID));
  lowerLeftCorner=new Vec3f(sliderPositionX,sliderPositionY + arrowHeight + bodyHeight,0.0f);
  lowerRightCorner=new Vec3f(sliderPositionX + sliderWidth,sliderPositionY + arrowHeight + bodyHeight,0.0f);
  upperRightCorner=new Vec3f(sliderPositionX + sliderWidth,sliderPositionY + 2.0f * arrowHeight + bodyHeight,0.0f);
  upperLeftCorner=new Vec3f(sliderPositionX,sliderPositionY + 2.0f * arrowHeight + bodyHeight,0.0f);
  textureManager.renderTexture(gl,EIconTextures.HEAT_MAP_ARROW,lowerLeftCorner,lowerRightCorner,upperRightCorner,upperLeftCorner,1,1,1,1);
  gl.glPopName();
}

Fixed version (ground truth):
public void draw(final GL gl,PickingManager pickingManager,TextureManager textureManager,int viewID,int pickingID){
  sliderBottomPositionY=layout.getOverviewMinSliderPositionY() + relativeBottomPositionY * layout.getOverviewHeight();
  sliderTopPositionY=layout.getOverviewMinSliderPositionY() + relativeTopPositionY * layout.getOverviewHeight();
  float sliderHeight=sliderTopPositionY - sliderBottomPositionY;
  float sliderWidth=layout.getOverviewSliderWidth();
  arrowHeight=(2.0f * sliderWidth <= sliderHeight) ? sliderWidth : sliderHeight / 2.0f;
  float bodyHeight=sliderHeight - 2.0f * arrowHeight;
  float sliderPositionX=layout.getOverviewSliderPositionX();
  gl.glPushName(pickingManager.getPickingID(viewID,EPickingType.COMPARE_OVERVIEW_SLIDER_ARROW_DOWN_SELECTION,pickingID));
  Vec3f upperLeftCorner=new Vec3f(sliderPositionX,sliderBottomPositionY,0.0f);
  Vec3f upperRightCorner=new Vec3f(sliderPositionX + sliderWidth,sliderBottomPositionY,0.0f);
  Vec3f lowerRightCorner=new Vec3f(sliderPositionX + sliderWidth,sliderBottomPositionY + arrowHeight,0.0f);
  Vec3f lowerLeftCorner=new Vec3f(sliderPositionX,sliderBottomPositionY + arrowHeight,0.0f);
  textureManager.renderTexture(gl,EIconTextures.HEAT_MAP_ARROW,lowerLeftCorner,lowerRightCorner,upperRightCorner,upperLeftCorner,1,1,1,1);
  gl.glPopName();
  gl.glColor4f(0.5f,0.5f,0.5f,1.0f);
  gl.glPushName(pickingManager.getPickingID(viewID,EPickingType.COMPARE_OVERVIEW_SLIDER_BODY_SELECTION,pickingID));
  gl.glBegin(GL.GL_QUADS);
  gl.glVertex3f(lowerLeftCorner.x(),lowerLeftCorner.y(),0.0f);
  gl.glVertex3f(lowerRightCorner.x(),lowerRightCorner.y(),0.0f);
  gl.glVertex3f(lowerRightCorner.x(),lowerRightCorner.y() + bodyHeight,0.0f);
  gl.glVertex3f(lowerLeftCorner.x(),lowerLeftCorner.y() + bodyHeight,0.0f);
  gl.glEnd();
  gl.glPopName();
  gl.glPushName(pickingManager.getPickingID(viewID,EPickingType.COMPARE_OVERVIEW_SLIDER_ARROW_UP_SELECTION,pickingID));
  lowerLeftCorner=new Vec3f(sliderPositionX,sliderTopPositionY - arrowHeight,0.0f);
  lowerRightCorner=new Vec3f(sliderPositionX + sliderWidth,sliderTopPositionY - arrowHeight,0.0f);
  upperRightCorner=new Vec3f(sliderPositionX + sliderWidth,sliderTopPositionY,0.0f);
  upperLeftCorner=new Vec3f(sliderPositionX,sliderTopPositionY,0.0f);
  textureManager.renderTexture(gl,EIconTextures.HEAT_MAP_ARROW,lowerLeftCorner,lowerRightCorner,upperRightCorner,upperLeftCorner,1,1,1,1);
  gl.glPopName();
}