Program: 58690
Project: 58690
Buggy source:
/** 
 * Render marker in OverviewBar for visualization of the currently (in stage 2) rendered part
 * @param gl
 */
private void renderMarkerOverviewBar(final GL gl){
  float fHeight=viewFrustum.getHeight();
  float fFieldWith=0.1f;
  Vec3f startpoint1, endpoint1, startpoint2, endpoint2;
  float fHeightElem=fHeight / iNumberOfElements;
  int iStartElem=0;
  int iLastElem=0;
  boolean colorToggle=true;
  gl.glLineWidth(2f);
  if (bIsDraggingActiveLevel1 == false && bIsDraggingWholeBlockLevel1 == false) {
    fPosCursorFirstElementLevel1=viewFrustum.getHeight() - iFirstSampleLevel1 * fHeightElem;
    fPosCursorLastElementLevel1=viewFrustum.getHeight() - (iLastSampleLevel1 + 1) * fHeightElem;
  }
  for (int currentGroup=0; currentGroup < iNrTextures; currentGroup++) {
    iStartElem=iLastElem;
    iLastElem+=iAlNumberSamples.get(currentGroup);
    if (colorToggle)     gl.glColor4f(0f,0f,0f,1f);
 else     gl.glColor4f(1f,1f,1f,1f);
    colorToggle=(colorToggle == true) ? false : true;
    gl.glBegin(GL.GL_LINE_LOOP);
    gl.glVertex3f(0,fHeight - fHeightElem * iStartElem,0);
    gl.glVertex3f(fFieldWith,fHeight - fHeightElem * iStartElem,0);
    gl.glVertex3f(fFieldWith,(fHeight - fHeightElem * iLastElem) + 0.01f,0);
    gl.glVertex3f(0,(fHeight - fHeightElem * iLastElem) + 0.01f,0);
    gl.glEnd();
  }
  startpoint1=new Vec3f(fFieldWith,fPosCursorFirstElementLevel1,0);
  endpoint1=new Vec3f(GAP_LEVEL1_2,fHeight,0);
  startpoint2=new Vec3f(fFieldWith,fPosCursorLastElementLevel1,0);
  endpoint2=new Vec3f(GAP_LEVEL1_2,0,0);
  renderSelectedDomain(gl,startpoint1,endpoint1,startpoint2,endpoint2);
  gl.glColor4fv(MOUSE_OVER_COLOR,0);
  gl.glBegin(GL.GL_LINE_LOOP);
  gl.glVertex3f(0,fPosCursorFirstElementLevel1,0);
  gl.glVertex3f(fFieldWith,fPosCursorFirstElementLevel1,0);
  gl.glVertex3f(fFieldWith,fPosCursorLastElementLevel1,0);
  gl.glVertex3f(0,fPosCursorLastElementLevel1,0);
  gl.glEnd();
  gl.glBegin(GL.GL_LINE_LOOP);
  gl.glVertex3f(0,viewFrustum.getHeight() - (iFirstSampleLevel1 + iFirstSampleLevel2) * fHeightElem,0);
  gl.glVertex3f(fFieldWith + 0.1f,viewFrustum.getHeight() - (iFirstSampleLevel1 + iFirstSampleLevel2) * fHeightElem,0);
  gl.glVertex3f(fFieldWith + 0.1f,viewFrustum.getHeight() - ((iFirstSampleLevel1 + iLastSampleLevel2) + 1) * fHeightElem,0);
  gl.glVertex3f(0,viewFrustum.getHeight() - ((iFirstSampleLevel1 + iLastSampleLevel2) + 1) * fHeightElem,0);
  gl.glEnd();
  if (bRenderCaption == true) {
    renderCaption(gl,"String_Node_Str" + iSamplesLevel2,0.0f,viewFrustum.getHeight() - iPickedSampleLevel1 * fHeightElem,0.004f);
  }
  gl.glColor4f(1f,1f,1f,1f);
}

Fixed version (ground truth):
/** 
 * Render marker in OverviewBar for visualization of the currently (in stage 2) rendered part
 * @param gl
 */
private void renderMarkerOverviewBar(final GL gl){
  float fHeight=viewFrustum.getHeight();
  float fFieldWith=0.1f;
  Vec3f startpoint1, endpoint1, startpoint2, endpoint2;
  float fHeightElem=fHeight / iNumberOfElements;
  if (bIsDraggingActiveLevel1 == false && bIsDraggingWholeBlockLevel1 == false) {
    fPosCursorFirstElementLevel1=viewFrustum.getHeight() - iFirstSampleLevel1 * fHeightElem;
    fPosCursorLastElementLevel1=viewFrustum.getHeight() - (iLastSampleLevel1 + 1) * fHeightElem;
  }
  startpoint1=new Vec3f(fFieldWith,fPosCursorFirstElementLevel1,0);
  endpoint1=new Vec3f(GAP_LEVEL1_2,fHeight,0);
  startpoint2=new Vec3f(fFieldWith,fPosCursorLastElementLevel1,0);
  endpoint2=new Vec3f(GAP_LEVEL1_2,0,0);
  renderSelectedDomain(gl,startpoint1,endpoint1,startpoint2,endpoint2);
  gl.glColor4fv(MOUSE_OVER_COLOR,0);
  gl.glBegin(GL.GL_LINE_LOOP);
  gl.glVertex3f(0,fPosCursorFirstElementLevel1,0);
  gl.glVertex3f(fFieldWith,fPosCursorFirstElementLevel1,0);
  gl.glVertex3f(fFieldWith,fPosCursorLastElementLevel1,0);
  gl.glVertex3f(0,fPosCursorLastElementLevel1,0);
  gl.glEnd();
  gl.glBegin(GL.GL_LINE_LOOP);
  gl.glVertex3f(0,viewFrustum.getHeight() - (iFirstSampleLevel1 + iFirstSampleLevel2) * fHeightElem,0);
  gl.glVertex3f(fFieldWith + 0.1f,viewFrustum.getHeight() - (iFirstSampleLevel1 + iFirstSampleLevel2) * fHeightElem,0);
  gl.glVertex3f(fFieldWith + 0.1f,viewFrustum.getHeight() - ((iFirstSampleLevel1 + iLastSampleLevel2) + 1) * fHeightElem,0);
  gl.glVertex3f(0,viewFrustum.getHeight() - ((iFirstSampleLevel1 + iLastSampleLevel2) + 1) * fHeightElem,0);
  gl.glEnd();
  if (bRenderCaption == true) {
    renderCaption(gl,"String_Node_Str" + iSamplesLevel2,0.0f,viewFrustum.getHeight() - iPickedSampleLevel1 * fHeightElem,0.004f);
  }
  gl.glColor4f(1f,1f,1f,1f);
}