Program: 91688
Project: 91688
Buggy source:
/** 
 * Same than   {@link #testNameCollision()}, but resolving collisions with usage of names of the form   {@code "head:tip"}.
 * @since 0.6
 */
@Test @DependsOnMethod("String_Node_Str") public void testQualifiedNames(){
  final NameFactory factory=DefaultFactories.forBuildin(NameFactory.class);
  final DefaultAttributeType<String> city=new DefaultAttributeType<>(singletonMap(DefaultAttributeType.NAME_KEY,factory.createGenericName(null,"String_Node_Str","String_Node_Str")),String.class,1,1,null);
  final DefaultAttributeType<Integer> cityId=new DefaultAttributeType<>(singletonMap(DefaultAttributeType.NAME_KEY,factory.createGenericName(null,"String_Node_Str","String_Node_Str")),Integer.class,1,1,null);
  final DefaultAttributeType<Integer> population=new DefaultAttributeType<>(singletonMap(DefaultAttributeType.NAME_KEY,factory.createGenericName(null,"String_Node_Str","String_Node_Str")),Integer.class,1,1,null);
  final DefaultFeatureType feature=new DefaultFeatureType(singletonMap(DefaultAttributeType.NAME_KEY,"String_Node_Str"),false,null,city,cityId,population);
  final Iterator<PropertyType> it=feature.getProperties(false).iterator();
  assertSame("String_Node_Str",city,it.next());
  assertSame("String_Node_Str",cityId,it.next());
  assertSame("String_Node_Str",population,it.next());
  assertFalse(it.hasNext());
  assertSame("String_Node_Str",city,feature.getProperty("String_Node_Str"));
  assertSame("String_Node_Str",cityId,feature.getProperty("String_Node_Str"));
  assertSame("String_Node_Str",population,feature.getProperty("String_Node_Str"));
  assertSame("String_Node_Str",population,feature.getProperty("String_Node_Str"));
  try {
    feature.getProperty("String_Node_Str");
    fail("String_Node_Str");
  }
 catch (  IllegalArgumentException e) {
    final String message=e.getMessage();
    assertTrue(message,message.contains("String_Node_Str"));
    assertTrue(message,message.contains("String_Node_Str"));
  }
}

Fixed version (ground truth):
/** 
 * Same than   {@link #testNameCollision()}, but resolving collisions with usage of names of the form   {@code "head:tip"}.
 * @since 0.6
 */
@Test @DependsOnMethod("String_Node_Str") public void testQualifiedNames(){
  final NameFactory factory=DefaultFactories.forBuildin(NameFactory.class);
  final DefaultAttributeType<String> city=new DefaultAttributeType<>(name(factory.createGenericName(null,"String_Node_Str","String_Node_Str")),String.class,1,1,null);
  final DefaultAttributeType<Integer> cityId=new DefaultAttributeType<>(name(factory.createGenericName(null,"String_Node_Str","String_Node_Str")),Integer.class,1,1,null);
  final DefaultAttributeType<Integer> population=new DefaultAttributeType<>(name(factory.createGenericName(null,"String_Node_Str","String_Node_Str")),Integer.class,1,1,null);
  final DefaultFeatureType feature=new DefaultFeatureType(name("String_Node_Str"),false,null,city,cityId,population);
  final Iterator<PropertyType> it=feature.getProperties(false).iterator();
  assertSame("String_Node_Str",city,it.next());
  assertSame("String_Node_Str",cityId,it.next());
  assertSame("String_Node_Str",population,it.next());
  assertFalse(it.hasNext());
  assertSame("String_Node_Str",city,feature.getProperty("String_Node_Str"));
  assertSame("String_Node_Str",cityId,feature.getProperty("String_Node_Str"));
  assertSame("String_Node_Str",population,feature.getProperty("String_Node_Str"));
  assertSame("String_Node_Str",population,feature.getProperty("String_Node_Str"));
  try {
    feature.getProperty("String_Node_Str");
    fail("String_Node_Str");
  }
 catch (  IllegalArgumentException e) {
    final String message=e.getMessage();
    assertTrue(message,message.contains("String_Node_Str"));
    assertTrue(message,message.contains("String_Node_Str"));
  }
}