Program: 56773
Project: 56773
Buggy source:
private void overlayBubbleSets(GL2 gl){
  if (isBubbleTextureDirty) {
    this.bubbleSet.clear();
    this.alternativeBubbleSet.clear();
    this.bubbleSet.setPathwayGraph(pathway);
    this.alternativeBubbleSet.setPathwayGraph(pathway);
    boolean renderAlternatives=false;
    for (    PathwayPath pathSegment : pathSegments) {
      if (pathSegment.getPathway() == pathway) {
        renderAlternatives=true;
        continue;
      }
    }
    if (!renderAlternatives) {
      allPathsList.clear();
    }
    for (    Pair<List<GraphPath<PathwayVertexRep,DefaultEdge>>,Integer> pathsPair : allPathsList) {
      List<GraphPath<PathwayVertexRep,DefaultEdge>> paths=pathsPair.getFirst();
      this.alternativeBubbleSet.addAllPaths(paths,pathsPair.getSecond());
    }
    this.bubbleSet.addPathSegements(pathSegments);
    this.bubbleSet.addPathSegements(pathSegments);
    if (this.highlightVertices) {
      ((BubbleSet)(bubbleSet.getBubbleSetGLRenderer().setOutline)).setParameter(100,20,3,10.0,7.0,0.5,2.5,15.0,8);
    }
 else {
      ((BubbleSet)(bubbleSet.getBubbleSetGLRenderer().setOutline)).setParameter(10,10,3,10.0,20.0,20.5,15.5,5.0,5);
    }
    this.bubbleSet.getBubbleSetGLRenderer().setSize(pathway.getWidth(),pathway.getHeight());
    this.bubbleSet.getBubbleSetGLRenderer().update(gl,null,0);
    alternativeBubbleSet.getBubbleSetGLRenderer().setSize(pathway.getWidth(),pathway.getHeight());
    alternativeBubbleSet.getBubbleSetGLRenderer().update(gl,null,0);
    isBubbleTextureDirty=false;
  }
  gl.glPushName(ViewManager.get().getPickingManager().getPickingID(uniqueID,EPickingType.PATHWAY_TEXTURE_SELECTION.name(),0));
  this.alternativeBubbleSet.getBubbleSetGLRenderer().render(gl,pixelGLConverter.getGLWidthForPixelWidth(pathway.getWidth()),pixelGLConverter.getGLHeightForPixelHeight(pathway.getHeight()),0.25f);
  if (this.highlightVertices) {
    this.bubbleSet.getBubbleSetGLRenderer().render(gl,pixelGLConverter.getGLWidthForPixelWidth(pathway.getWidth()),pixelGLConverter.getGLHeightForPixelHeight(pathway.getHeight()));
  }
 else {
    this.bubbleSet.getBubbleSetGLRenderer().render(gl,pixelGLConverter.getGLWidthForPixelWidth(pathway.getWidth()),pixelGLConverter.getGLHeightForPixelHeight(pathway.getHeight()),1.0f);
  }
  gl.glPopName();
}

Fixed version (ground truth):
private void overlayBubbleSets(GL2 gl){
  if (isBubbleTextureDirty) {
    this.bubbleSet.clear();
    this.alternativeBubbleSet.clear();
    this.bubbleSet.setPathwayGraph(pathway);
    this.alternativeBubbleSet.setPathwayGraph(pathway);
    boolean renderAlternatives=false;
    for (    PathwayPath pathSegment : pathSegments) {
      if (pathSegment.getPathway() == pathway) {
        renderAlternatives=true;
        continue;
      }
    }
    if (!renderAlternatives) {
      allPathsList.clear();
    }
    for (    Pair<List<GraphPath<PathwayVertexRep,DefaultEdge>>,Integer> pathsPair : allPathsList) {
      List<GraphPath<PathwayVertexRep,DefaultEdge>> paths=pathsPair.getFirst();
      this.alternativeBubbleSet.addAllPaths(paths,pathsPair.getSecond());
    }
    this.bubbleSet.addPathSegements(pathSegments);
    if (this.highlightVertices) {
      ((BubbleSet)(bubbleSet.getBubbleSetGLRenderer().setOutline)).setParameter(100,20,3,10.0,7.0,0.5,2.5,15.0,8);
    }
 else {
      ((BubbleSet)(bubbleSet.getBubbleSetGLRenderer().setOutline)).setParameter(10,10,3,10.0,20.0,20.5,15.5,5.0,5);
    }
    this.bubbleSet.getBubbleSetGLRenderer().setSize(pathway.getWidth(),pathway.getHeight());
    this.bubbleSet.getBubbleSetGLRenderer().update(gl,null,0);
    alternativeBubbleSet.getBubbleSetGLRenderer().setSize(pathway.getWidth(),pathway.getHeight());
    alternativeBubbleSet.getBubbleSetGLRenderer().update(gl,null,0);
    isBubbleTextureDirty=false;
  }
  gl.glPushName(ViewManager.get().getPickingManager().getPickingID(uniqueID,EPickingType.PATHWAY_TEXTURE_SELECTION.name(),0));
  this.alternativeBubbleSet.getBubbleSetGLRenderer().render(gl,pixelGLConverter.getGLWidthForPixelWidth(pathway.getWidth()),pixelGLConverter.getGLHeightForPixelHeight(pathway.getHeight()),0.25f);
  if (this.highlightVertices) {
    this.bubbleSet.getBubbleSetGLRenderer().render(gl,pixelGLConverter.getGLWidthForPixelWidth(pathway.getWidth()),pixelGLConverter.getGLHeightForPixelHeight(pathway.getHeight()));
  }
 else {
    this.bubbleSet.getBubbleSetGLRenderer().render(gl,pixelGLConverter.getGLWidthForPixelWidth(pathway.getWidth()),pixelGLConverter.getGLHeightForPixelHeight(pathway.getHeight()),1.0f);
  }
  gl.glPopName();
}