Program: 51270
Project: 51270
Buggy source:
public void testReplaceMatrixParams(){
  URI bu=UriBuilder.fromUri("String_Node_Str").replaceMatrixParam("String_Node_Str","String_Node_Str","String_Node_Str").build();
  List<PathSegment> ps=UriComponent.decodePath(bu,true);
  MultivaluedMap<String,String> mps=ps.get(2).getMatrixParameters();
  List<String> a=mps.get("String_Node_Str");
  assertEquals(2,a.size());
  assertEquals("String_Node_Str",a.get(0));
  assertEquals("String_Node_Str",a.get(1));
  List<String> b=mps.get("String_Node_Str");
  assertEquals(1,b.size());
  assertEquals("String_Node_Str",b.get(0));
  bu=UriBuilder.fromUri("String_Node_Str").replaceMatrixParam("String_Node_Str","String_Node_Str","String_Node_Str").matrixParam("String_Node_Str","String_Node_Str").path("String_Node_Str").build();
  ps=UriComponent.decodePath(bu,true);
  mps=ps.get(2).getMatrixParameters();
  a=mps.get("String_Node_Str");
  assertEquals(2,a.size());
  assertEquals("String_Node_Str",a.get(0));
  assertEquals("String_Node_Str",a.get(1));
  b=mps.get("String_Node_Str");
  assertEquals(1,b.size());
  assertEquals("String_Node_Str",b.get(0));
  List<String> c=mps.get("String_Node_Str");
  assertEquals(1,c.size());
  assertEquals("String_Node_Str",c.get(0));
}

Fixed version (ground truth):
public void testReplaceMatrixParams(){
  UriBuilder ubu=UriBuilder.fromUri("String_Node_Str").replaceMatrixParam("String_Node_Str","String_Node_Str","String_Node_Str");
{
    URI bu=ubu.build();
    List<PathSegment> ps=UriComponent.decodePath(bu,true);
    MultivaluedMap<String,String> mps=ps.get(2).getMatrixParameters();
    List<String> a=mps.get("String_Node_Str");
    assertEquals(2,a.size());
    assertEquals("String_Node_Str",a.get(0));
    assertEquals("String_Node_Str",a.get(1));
    List<String> b=mps.get("String_Node_Str");
    assertEquals(1,b.size());
    assertEquals("String_Node_Str",b.get(0));
  }
{
    URI bu=ubu.replaceMatrixParam("String_Node_Str","String_Node_Str","String_Node_Str").build();
    List<PathSegment> ps=UriComponent.decodePath(bu,true);
    MultivaluedMap<String,String> mps=ps.get(2).getMatrixParameters();
    List<String> a=mps.get("String_Node_Str");
    assertEquals(2,a.size());
    assertEquals("String_Node_Str",a.get(0));
    assertEquals("String_Node_Str",a.get(1));
    List<String> b=mps.get("String_Node_Str");
    assertEquals(1,b.size());
    assertEquals("String_Node_Str",b.get(0));
  }
{
    URI bu=UriBuilder.fromUri("String_Node_Str").replaceMatrixParam("String_Node_Str","String_Node_Str","String_Node_Str").matrixParam("String_Node_Str","String_Node_Str").path("String_Node_Str").build();
    List<PathSegment> ps=UriComponent.decodePath(bu,true);
    MultivaluedMap<String,String> mps=ps.get(2).getMatrixParameters();
    List<String> a=mps.get("String_Node_Str");
    assertEquals(2,a.size());
    assertEquals("String_Node_Str",a.get(0));
    assertEquals("String_Node_Str",a.get(1));
    List<String> b=mps.get("String_Node_Str");
    assertEquals(1,b.size());
    assertEquals("String_Node_Str",b.get(0));
    List<String> c=mps.get("String_Node_Str");
    assertEquals(1,c.size());
    assertEquals("String_Node_Str",c.get(0));
  }
}