Program: 90666
Project: 90666
Buggy source:
private void testAllFeatures(final boolean includeSource,final boolean compact,final boolean includeContext) throws Exception {
  final Log4jLogEvent expected=LogEventFixtures.createLogEvent();
  final AbstractJacksonLayout layout=JSONLayout.createLayout(Boolean.toString(includeSource),Boolean.toString(includeContext),"String_Node_Str",Boolean.toString(compact),"String_Node_Str");
  final String str=layout.toSerializable(expected);
  final String propSep=this.toPropertySeparator(compact);
  assertEquals(str,!compact,str.contains("String_Node_Str"));
  assertEquals(str,includeSource,str.contains("String_Node_Str"));
  assertEquals(str,includeContext,str.contains("String_Node_Str"));
  final Log4jLogEvent actual=new Log4jJsonObjectMapper().readValue(str,Log4jLogEvent.class);
  LogEventFixtures.assertEqualLogEvents(expected,actual,includeSource,includeContext);
  if (includeContext) {
    this.checkMapEntry("String_Node_Str","String_Node_Str",compact,str);
    this.checkMapEntry("String_Node_Str","String_Node_Str",compact,str);
  }
  assertNull(actual.getThrown());
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  if (includeContext) {
    this.checkPropertyName("String_Node_Str",compact,str);
  }
  this.checkPropertyName("String_Node_Str",compact,str);
  if (includeSource) {
    this.checkPropertyName("String_Node_Str",compact,str);
  }
  this.checkProperty("String_Node_Str","String_Node_Str",compact,str);
  this.checkProperty("String_Node_Str","String_Node_Str",compact,str);
}

Fixed version (ground truth):
private void testAllFeatures(final boolean includeSource,final boolean compact,final boolean includeContext) throws Exception {
  final Log4jLogEvent expected=LogEventFixtures.createLogEvent();
  final AbstractJacksonLayout layout=JSONLayout.createLayout(Boolean.toString(includeSource),Boolean.toString(includeContext),"String_Node_Str",Boolean.toString(compact),"String_Node_Str");
  final String str=layout.toSerializable(expected);
  final String propSep=this.toPropertySeparator(compact);
  assertEquals(str,!compact,str.contains("String_Node_Str"));
  assertEquals(str,includeSource,str.contains("String_Node_Str"));
  assertEquals(str,includeContext,str.contains("String_Node_Str"));
  final Log4jLogEvent actual=new Log4jJsonObjectMapper().readValue(str,Log4jLogEvent.class);
  LogEventFixtures.assertEqualLogEvents(expected,actual,includeSource,includeContext);
  if (includeContext) {
    this.checkMapEntry("String_Node_Str","String_Node_Str",compact,str);
    this.checkMapEntry("String_Node_Str","String_Node_Str",compact,str);
  }
  assertNull(actual.getThrown());
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  if (Throwables.isSuppressedAvailable()) {
    this.checkPropertyName("String_Node_Str",compact,str);
  }
  this.checkPropertyName("String_Node_Str",compact,str);
  this.checkPropertyName("String_Node_Str",compact,str);
  if (includeContext) {
    this.checkPropertyName("String_Node_Str",compact,str);
  }
  this.checkPropertyName("String_Node_Str",compact,str);
  if (includeSource) {
    this.checkPropertyName("String_Node_Str",compact,str);
  }
  this.checkProperty("String_Node_Str","String_Node_Str",compact,str);
  this.checkProperty("String_Node_Str","String_Node_Str",compact,str);
}