Program: 167667
Project: 167667
Buggy source:
@Override protected void define(){
  boolean makeMergeSubstreamSensitive=true;
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.GenSS.class);
  component("String_Node_Str",com.jpmorrsn.fbp.components.LoadBalance.class);
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.SlowPass.class);
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.SlowPass.class);
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.SlowPass.class);
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.SlowPass.class);
  component("String_Node_Str",com.jpmorrsn.fbp.components.WriteToConsole.class);
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.CheckSequenceWithinSubstreams.class);
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),4);
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
  if (makeMergeSubstreamSensitive) {
    component("String_Node_Str",com.jpmorrsn.fbp.components.SubstreamSensitiveMerge.class);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),4);
  }
 else {
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),4);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),4);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),4);
  }
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),4);
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),4);
  initialize("String_Node_Str",component("String_Node_Str"),port("String_Node_Str"));
}

Fixed version (ground truth):
@Override protected void define(){
  boolean makeMergeSubstreamSensitive=true;
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.GenSS.class);
  component("String_Node_Str",com.jpmorrsn.fbp.components.LoadBalance.class);
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.SlowPass.class);
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.SlowPass.class);
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.SlowPass.class);
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.SlowPass.class);
  component("String_Node_Str",com.jpmorrsn.fbp.components.WriteToConsole.class);
  component("String_Node_Str",com.jpmorrsn.fbp.examples.components.CheckSequenceWithinSubstreams.class);
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),4);
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),1);
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),1);
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),1);
  if (makeMergeSubstreamSensitive) {
    component("String_Node_Str",com.jpmorrsn.fbp.components.SubstreamSensitiveMerge.class);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),4);
  }
 else {
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
    connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),2);
  }
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),4);
  connect(component("String_Node_Str"),port("String_Node_Str"),component("String_Node_Str"),port("String_Node_Str"),4);
  initialize("String_Node_Str",component("String_Node_Str"),port("String_Node_Str"));
}