Program: 46128
Project: 46128
Buggy source:
@Test public void test_AbstractDiscoveryStrategy_getOrNull() throws Exception {
  PropertyDefinition first=new SimplePropertyDefinition("String_Node_Str",PropertyTypeConverter.STRING);
  PropertyDefinition second=new SimplePropertyDefinition("String_Node_Str",PropertyTypeConverter.BOOLEAN);
  PropertyDefinition third=new SimplePropertyDefinition("String_Node_Str",PropertyTypeConverter.INTEGER);
  PropertyDefinition fourth=new SimplePropertyDefinition("String_Node_Str",true,PropertyTypeConverter.STRING);
  Map<String,Comparable> properties=new HashMap<String,Comparable>();
  properties.put("String_Node_Str","String_Node_Str");
  properties.put("String_Node_Str",Boolean.FALSE);
  properties.put("String_Node_Str",100);
  setEnvironment("String_Node_Str","String_Node_Str");
  setEnvironment("String_Node_Str","String_Node_Str");
  System.setProperty("String_Node_Str","String_Node_Str");
  PropertyDiscoveryStrategy strategy=new PropertyDiscoveryStrategy(LOGGER,properties);
  assertEquals("String_Node_Str",strategy.getOrNull(first));
  assertEquals(Boolean.FALSE,strategy.getOrNull(second));
  assertEquals(100,((Long)strategy.getOrNull(third)).longValue());
  assertNull(strategy.getOrNull(fourth));
  if (System.getenv("String_Node_Str") != null) {
    assertEquals("String_Node_Str",strategy.getOrNull("String_Node_Str",first));
    assertEquals(Boolean.TRUE,strategy.getOrNull("String_Node_Str",second));
    assertEquals(300,((Long)strategy.getOrNull("String_Node_Str",third)).longValue());
    assertNull(strategy.getOrNull("String_Node_Str",fourth));
  }
}

Fixed version (ground truth):
@Test public void test_AbstractDiscoveryStrategy_getOrNull() throws Exception {
  PropertyDefinition first=new SimplePropertyDefinition("String_Node_Str",PropertyTypeConverter.STRING);
  PropertyDefinition second=new SimplePropertyDefinition("String_Node_Str",PropertyTypeConverter.BOOLEAN);
  PropertyDefinition third=new SimplePropertyDefinition("String_Node_Str",PropertyTypeConverter.INTEGER);
  PropertyDefinition fourth=new SimplePropertyDefinition("String_Node_Str",true,PropertyTypeConverter.STRING);
  Map<String,Comparable> properties=new HashMap<String,Comparable>();
  properties.put("String_Node_Str","String_Node_Str");
  properties.put("String_Node_Str",Boolean.FALSE);
  properties.put("String_Node_Str",100);
  setEnvironment("String_Node_Str","String_Node_Str");
  setEnvironment("String_Node_Str","String_Node_Str");
  System.setProperty("String_Node_Str","String_Node_Str");
  PropertyDiscoveryStrategy strategy=new PropertyDiscoveryStrategy(LOGGER,properties);
  assertEquals("String_Node_Str",strategy.getOrNull(first));
  assertEquals(Boolean.FALSE,strategy.getOrNull(second));
  assertEquals(100,((Integer)strategy.getOrNull(third)).intValue());
  assertNull(strategy.getOrNull(fourth));
  if (System.getenv("String_Node_Str") != null) {
    assertEquals("String_Node_Str",strategy.getOrNull("String_Node_Str",first));
    assertEquals(Boolean.TRUE,strategy.getOrNull("String_Node_Str",second));
    assertEquals(300,((Integer)strategy.getOrNull("String_Node_Str",third)).intValue());
    assertNull(strategy.getOrNull("String_Node_Str",fourth));
  }
}