Program: 59151
Project: 59151
Buggy source:
public void renderMemoPad(final GL gl){
  gl.glLoadName(MEMO_PAD_PICKING_ID);
  gl.glColor3f(0.5f,0.5f,0.5f);
  gl.glBegin(GL.GL_POLYGON);
  gl.glVertex3f(-0.7f,-1.5f,0.0f);
  gl.glVertex3f(-0.7f,-2.3f,0.0f);
  gl.glVertex3f(4.0f,-2.3f,0.0f);
  gl.glVertex3f(4.0f,-1.5f,0.0f);
  gl.glEnd();
  gl.glLineWidth(2);
  gl.glColor3f(0.2f,0.2f,0.2f);
  gl.glBegin(GL.GL_LINE_LOOP);
  gl.glVertex3f(-0.7f,-1.5f,0.0f);
  gl.glVertex3f(-0.7f,-2.3f,0.0f);
  gl.glVertex3f(4.0f,-2.3f,0.0f);
  gl.glVertex3f(4.0f,-1.5f,0.0f);
  gl.glEnd();
  if (textRenderer == null)   return;
  textRenderer.begin3DRendering();
  textRenderer.setColor(0.7f,0.7f,0.7f,1.0f);
  textRenderer.draw3D("String_Node_Str",1.3f,-2.2f,0.01f,0.005f);
  textRenderer.end3DRendering();
  Iterator<Integer> iterMemoPathwayIndex=memoPad.getElementList().iterator();
  while (iterMemoPathwayIndex.hasNext()) {
    int iPathwayId=iterMemoPathwayIndex.next();
    gl.glPushMatrix();
    Transform transform=memoPad.getTransformByElementId(iPathwayId);
    Vec3f translation=transform.getTranslation();
    gl.glTranslatef(translation.x(),translation.y(),translation.z());
    Vec3f scale=transform.getScale();
    gl.glScalef(scale.x(),scale.y(),scale.z());
    refGLPathwayTextureManager.renderPathway(gl,iPathwayId,1f,false);
    float tmp=refGLPathwayTextureManager.getTextureByPathwayId(iPathwayId).getImageHeight() * GLPathwayManager.SCALING_FACTOR_Y;
    gl.glTranslatef(0,tmp,0.01f);
    refGLPathwayManager.renderPathway(gl,iPathwayId,false);
    gl.glTranslatef(0,-tmp,0.01f);
    gl.glPopMatrix();
  }
  renderTrashCan(gl);
}

Fixed version (ground truth):
public void renderMemoPad(final GL gl){
  gl.glLoadName(MEMO_PAD_PICKING_ID);
  gl.glColor3f(0.7f,0.7f,0.7f);
  gl.glBegin(GL.GL_POLYGON);
  gl.glVertex3f(-0.7f,-1.5f,0.0f);
  gl.glVertex3f(-0.7f,-2.3f,0.0f);
  gl.glVertex3f(4.0f,-2.3f,0.0f);
  gl.glVertex3f(4.0f,-1.5f,0.0f);
  gl.glEnd();
  gl.glLineWidth(2);
  gl.glColor3f(0.4f,0.4f,0.4f);
  gl.glBegin(GL.GL_LINE_LOOP);
  gl.glVertex3f(-0.7f,-1.5f,0.0f);
  gl.glVertex3f(-0.7f,-2.3f,0.0f);
  gl.glVertex3f(4.0f,-2.3f,0.0f);
  gl.glVertex3f(4.0f,-1.5f,0.0f);
  gl.glEnd();
  if (textRenderer == null)   return;
  textRenderer.begin3DRendering();
  textRenderer.setColor(0.7f,0.7f,0.7f,1.0f);
  textRenderer.draw3D("String_Node_Str",1.3f,-2.2f,0.01f,0.005f);
  textRenderer.end3DRendering();
  Iterator<Integer> iterMemoPathwayIndex=memoPad.getElementList().iterator();
  while (iterMemoPathwayIndex.hasNext()) {
    int iPathwayId=iterMemoPathwayIndex.next();
    gl.glPushMatrix();
    Transform transform=memoPad.getTransformByElementId(iPathwayId);
    Vec3f translation=transform.getTranslation();
    gl.glTranslatef(translation.x(),translation.y(),translation.z());
    Vec3f scale=transform.getScale();
    gl.glScalef(scale.x(),scale.y(),scale.z());
    refGLPathwayTextureManager.renderPathway(gl,iPathwayId,1f,false);
    float tmp=refGLPathwayTextureManager.getTextureByPathwayId(iPathwayId).getImageHeight() * GLPathwayManager.SCALING_FACTOR_Y;
    gl.glTranslatef(0,tmp,0.01f);
    refGLPathwayManager.renderPathway(gl,iPathwayId,false);
    gl.glTranslatef(0,-tmp,0.01f);
    gl.glPopMatrix();
  }
  renderTrashCan(gl);
}