Program: 57409
Project: 57409
Buggy source:
public void renderPathway(final GL2 gl,final AGLView containingView,final PathwayGraph pathway,final float fTextureTransparency,final boolean bHighlight){
  Texture tmpPathwayTexture=loadPathwayTexture(pathway);
  tmpPathwayTexture.enable(gl);
  tmpPathwayTexture.bind(gl);
  if (bHighlight) {
    gl.glColor4f(1f,0.85f,0.85f,fTextureTransparency);
  }
 else {
    gl.glColor4f(1f,1f,1f,fTextureTransparency);
  }
  TextureCoords texCoords=tmpPathwayTexture.getImageTexCoords();
  float textureWidth=containingView.getPixelGLConverter().getGLWidthForPixelWidth(pathway.getWidth());
  float textureHeight=containingView.getPixelGLConverter().getGLHeightForPixelHeight(pathway.getHeight());
  gl.glTexParameteri(GL.GL_TEXTURE_2D,GL.GL_TEXTURE_MIN_FILTER,GL.GL_LINEAR_MIPMAP_LINEAR);
  gl.glTexParameteri(GL.GL_TEXTURE_2D,GL.GL_TEXTURE_MAG_FILTER,GL.GL_LINEAR_MIPMAP_LINEAR);
  gl.glBegin(GL2.GL_QUADS);
  gl.glTexCoord2f(texCoords.left(),texCoords.bottom());
  gl.glVertex3f(0.0f,0.0f,0.0f);
  gl.glTexCoord2f(texCoords.right(),texCoords.bottom());
  gl.glVertex3f(textureWidth,0.0f,0.0f);
  gl.glTexCoord2f(texCoords.right(),texCoords.top());
  gl.glVertex3f(textureWidth,textureHeight,0.0f);
  gl.glTexCoord2f(texCoords.left(),texCoords.top());
  gl.glVertex3f(0.0f,textureHeight,0.0f);
  gl.glEnd();
  tmpPathwayTexture.disable(gl);
  if (bHighlight) {
    gl.glColor4f(1,0,0,1);
    gl.glLineWidth(3);
  }
 else {
    gl.glColor4f(0.5f,0.5f,0.5f,1.0f);
    gl.glLineWidth(1);
  }
  gl.glBegin(GL.GL_LINE_STRIP);
  gl.glVertex3f(0.0f,0.0f,0.0f);
  gl.glVertex3f(textureWidth,0.0f,0.0f);
  gl.glVertex3f(textureWidth,textureHeight,0.0f);
  gl.glVertex3f(0.0f,textureHeight,0.0f);
  gl.glVertex3f(0.0f,0.0f,0.0f);
  gl.glEnd();
}

Fixed version (ground truth):
public void renderPathway(final GL2 gl,final AGLView containingView,final PathwayGraph pathway,final float fTextureTransparency,final boolean bHighlight){
  Texture tmpPathwayTexture=loadPathwayTexture(pathway);
  tmpPathwayTexture.enable(gl);
  tmpPathwayTexture.bind(gl);
  if (bHighlight) {
    gl.glColor4f(1f,0.85f,0.85f,fTextureTransparency);
  }
 else {
    gl.glColor4f(1f,1f,1f,fTextureTransparency);
  }
  TextureCoords texCoords=tmpPathwayTexture.getImageTexCoords();
  float textureWidth=containingView.getPixelGLConverter().getGLWidthForPixelWidth(pathway.getWidth());
  float textureHeight=containingView.getPixelGLConverter().getGLHeightForPixelHeight(pathway.getHeight());
  gl.glTexParameteri(GL.GL_TEXTURE_2D,GL.GL_TEXTURE_MIN_FILTER,GL.GL_LINEAR_MIPMAP_LINEAR);
  gl.glTexParameteri(GL.GL_TEXTURE_2D,GL.GL_TEXTURE_MAG_FILTER,GL.GL_LINEAR);
  gl.glBegin(GL2.GL_QUADS);
  gl.glTexCoord2f(texCoords.left(),texCoords.bottom());
  gl.glVertex3f(0.0f,0.0f,0.0f);
  gl.glTexCoord2f(texCoords.right(),texCoords.bottom());
  gl.glVertex3f(textureWidth,0.0f,0.0f);
  gl.glTexCoord2f(texCoords.right(),texCoords.top());
  gl.glVertex3f(textureWidth,textureHeight,0.0f);
  gl.glTexCoord2f(texCoords.left(),texCoords.top());
  gl.glVertex3f(0.0f,textureHeight,0.0f);
  gl.glEnd();
  tmpPathwayTexture.disable(gl);
  if (bHighlight) {
    gl.glColor4f(1,0,0,1);
    gl.glLineWidth(3);
  }
 else {
    gl.glColor4f(0.5f,0.5f,0.5f,1.0f);
    gl.glLineWidth(1);
  }
  gl.glBegin(GL.GL_LINE_STRIP);
  gl.glVertex3f(0.0f,0.0f,0.0f);
  gl.glVertex3f(textureWidth,0.0f,0.0f);
  gl.glVertex3f(textureWidth,textureHeight,0.0f);
  gl.glVertex3f(0.0f,textureHeight,0.0f);
  gl.glVertex3f(0.0f,0.0f,0.0f);
  gl.glEnd();
}