Buggy code:
@ ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_NAME ) ) ) ; OIMPerformanceTreeNode . logger . trace ( "Trying<seq2seq4repair_space>to<seq2seq4repair_space>validate<seq2seq4repair_space>performance<seq2seq4repair_space>item's<seq2seq4repair_space>name<seq2seq4repair_space>{}" , name ) ; if ( ! ( Utils . isEmpty ( name ) ) ) { List < Map < String , Object > > performanceMetrics = new ArrayList < > ( ) ; int missingCounter = 0 ; int counter = 1 ; while ( missingCounter < 10 ) { String attPrefix = ( ( ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_PREFIX ) + performanceItem ) + "." ) + counter ; String typeAttr = attPrefix + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_TYPE ) ; OIMPerformanceTreeNode . logger . trace ( "Trying<seq2seq4repair_space>to<seq2seq4repair_space>locate<seq2seq4repair_space>type<seq2seq4repair_space>{}" , typeAttr ) ; String type = configuration . getProperty ( typeAttr ) ; OIMPerformanceTreeNode . logger . trace ( "Trying<seq2seq4repair_space>to<seq2seq4repair_space>validate<seq2seq4repair_space>type<seq2seq4repair_space>{}" , type ) ; if ( ! ( Utils . isEmpty ( type ) ) ) { String displayName = configuration . getProperty ( ( attPrefix + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_DISPLAY_NAME ) ) ) ; OIMPerformanceTreeNode . logger . trace ( "Extracted<seq2seq4repair_space>display<seq2seq4repair_space>name<seq2seq4repair_space>{}" , displayName ) ; switch ( type ) { case "api" : OIMPerformanceTreeNode . logger . trace ( "Processing<seq2seq4repair_space>{}<seq2seq4repair_space>as<seq2seq4repair_space>api" , displayName ) ; Map < String , Object > performanceMetricForAPI = new HashMap < > ( ) ; String beanName = configuration . getProperty ( ( attPrefix + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_NAME ) ) ) ; OIMPerformanceTreeNode . logger . trace ( "Bean<seq2seq4repair_space>:<seq2seq4repair_space>{}" , beanName ) ; if ( Utils . isEmpty ( beanName ) ) throw new NullPointerException ( ( ( ( ( ( "Failed<seq2seq4repair_space>to<seq2seq4repair_space>locate<seq2seq4repair_space>name<seq2seq4repair_space>of<seq2seq4repair_space>the<seq2seq4repair_space>bean<seq2seq4repair_space>using<seq2seq4repair_space>property<seq2seq4repair_space>" + attPrefix ) + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_NAME ) ) + "<seq2seq4repair_space>property<seq2seq4repair_space>for<seq2seq4repair_space>" ) + displayName ) + "<seq2seq4repair_space>api." ) ) ; String beanAttrPrefix = configuration . getProperty ( ( attPrefix + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_CALL ) ) ) ; OIMPerformanceTreeNode . logger . trace ( "Attribute<seq2seq4repair_space>:<seq2seq4repair_space>{}" , beanAttrPrefix ) ; if ( Utils . isEmpty ( beanAttrPrefix ) ) throw new NullPointerException ( ( ( ( ( ( "Failed<seq2seq4repair_space>to<seq2seq4repair_space>locate<seq2seq4repair_space>method<seq2seq4repair_space>being<seq2seq4repair_space>measured<seq2seq4repair_space>using<seq2seq4repair_space>property<seq2seq4repair_space>" + attPrefix ) + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_CALL ) ) + "<seq2seq4repair_space>property<seq2seq4repair_space>for<seq2seq4repair_space>" ) + displayName ) + "<seq2seq4repair_space>api." ) ) ; performanceMetricForAPI . put ( ATTR_BEAN , new OIMJMXWrapper . OIM_JMX_BEANS ( beanName ) ) ; performanceMetricForAPI . put ( ATTR_BEAN_ATTRIBUTE , beanAttrPrefix ) ; performanceMetricForAPI . put ( ATTR_NAME , ( displayName == null ? beanName : displayName ) ) ; OIMPerformanceTreeNode . logger . trace ( "Adding<seq2seq4repair_space>{}<seq2seq4repair_space>to<seq2seq4repair_space>{}" , performanceMetricForAPI , performanceMetrics ) ; performanceMetrics . add ( performanceMetricForAPI ) ; OIMPerformanceTreeNode . logger . trace ( "Processed<seq2seq4repair_space>API" ) ; break ; case "event-handler" : OIMPerformanceTreeNode . logger . trace ( "Processing<seq2seq4repair_space>{}<seq2seq4repair_space>as<seq2seq4repair_space>event<seq2seq4repair_space>handler" , displayName ) ; String operationName = configuration . getProperty ( ( attPrefix + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_NAME ) ) ) ; OIMPerformanceTreeNode . logger . trace ( "Validating<seq2seq4repair_space>operation<seq2seq4repair_space>name<seq2seq4repair_space>{}" , operationName ) ; if ( Utils . isEmpty ( operationName ) ) throw new NullPointerException ( ( ( ( ( ( "Failed<seq2seq4repair_space>to<seq2seq4repair_space>locate<seq2seq4repair_space>" + attPrefix ) + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_NAME ) ) + "<seq2seq4repair_space>property<seq2seq4repair_space>for<seq2seq4repair_space>" ) + displayName ) + "<seq2seq4repair_space>event<seq2seq4repair_space>handler." ) ) ; for ( OIMJMXWrapper . OperationDetail operation : eventHandlerOperations ) { OIMPerformanceTreeNode . logger . trace ( "Trying<seq2seq4repair_space>to<seq2seq4repair_space>validate<seq2seq4repair_space>operation<seq2seq4repair_space>{}<seq2seq4repair_space>has<seq2seq4repair_space>name<seq2seq4repair_space>{}" , operation , operationName ) ; if ( operation . name . equals ( operationName ) ) { OIMPerformanceTreeNode . logger . trace ( "Trying<seq2seq4repair_space>to<seq2seq4repair_space>retrieve<seq2seq4repair_space>event<seq2seq4repair_space>handler<seq2seq4repair_space>for<seq2seq4repair_space>operation<seq2seq4repair_space>{}" , operation ) ; OIMJMXWrapper . Details eventHandlers = connection . getEventHandlers ( operation ) ; for ( int eventHandlerCounter = 0 ; eventHandlerCounter < ( eventHandlers . size ( ) ) ; eventHandlerCounter ++ ) { OIMPerformanceTreeNode . logger . trace ( "Processing<seq2seq4repair_space>item<seq2seq4repair_space>{}" , eventHandlerCounter ) ; Map < String , Object > eventHandlerDetail = eventHandlers . getItemAt ( eventHandlerCounter ) ; OIMPerformanceTreeNode . logger . trace ( "Processing<seq2seq4repair_space>Event<seq2seq4repair_space>handler<seq2seq4repair_space>details<seq2seq4repair_space>{}" , eventHandlerDetail ) ; String eventHandlerName = ( ( String ) ( eventHandlerDetail . get ( columnName ) ) ) ; Map < String , Object > performanceMetricForEventHandler = new HashMap < > ( ) ; performanceMetricForEventHandler . put ( ATTR_BEAN , new OIMJMXWrapper . OIM_JMX_BEANS ( ( "//" + eventHandlerName ) ) ) ; performanceMetricForEventHandler . put ( ATTR_BEAN_ATTRIBUTE , "execute" ) ; performanceMetricForEventHandler . put ( ATTR_NAME , ( ( ( ( displayName == null ? operationName : displayName ) + "<seq2seq4repair_space>[" ) + eventHandlerName ) + "]" ) ) ; OIMPerformanceTreeNode . logger . trace ( "Adding<seq2seq4repair_space>{}<seq2seq4repair_space>to<seq2seq4repair_space>{}" , performanceMetricForEventHandler , performanceMetrics ) ; performanceMetrics . add ( performanceMetricForEventHandler ) ; } } } OIMPerformanceTreeNode . logger . trace ( "Processed<seq2seq4repair_space>Event<seq2seq4repair_space>Handler" ) ; break ; case "adapter" : OIMPerformanceTreeNode . logger . trace ( "Processing<seq2seq4repair_space>adapter" ) ; Map < String , Object > performanceMetricForAdapter = new HashMap < > ( ) ; String adapterBeanName = configuration . getProperty ( ( attPrefix + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_NAME ) ) ) ; OIMPerformanceTreeNode . logger . trace ( "Validating<seq2seq4repair_space>bean<seq2seq4repair_space>name<seq2seq4repair_space>{}" , adapterBeanName ) ; if ( Utils . isEmpty ( adapterBeanName ) ) throw new NullPointerException ( ( ( ( ( ( "Failed<seq2seq4repair_space>to<seq2seq4repair_space>locate<seq2seq4repair_space>name<seq2seq4repair_space>of<seq2seq4repair_space>the<seq2seq4repair_space>bean<seq2seq4repair_space>using<seq2seq4repair_space>property<seq2seq4repair_space>" + attPrefix ) + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_NAME ) ) + "<seq2seq4repair_space>property<seq2seq4repair_space>for<seq2seq4repair_space>" ) + displayName ) + "<seq2seq4repair_space>adapter." ) ) ; String adapterBeanAttrPrefix = configuration . getProperty ( ( attPrefix + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_CALL ) ) ) ; OIMPerformanceTreeNode . logger . trace ( "Validating<seq2seq4repair_space>bean<seq2seq4repair_space>attribute<seq2seq4repair_space>{}" , adapterBeanAttrPrefix ) ; if ( Utils . isEmpty ( adapterBeanAttrPrefix ) ) throw new NullPointerException ( ( ( ( ( ( "Failed<seq2seq4repair_space>to<seq2seq4repair_space>locate<seq2seq4repair_space>method<seq2seq4repair_space>being<seq2seq4repair_space>measured<seq2seq4repair_space>using<seq2seq4repair_space>property<seq2seq4repair_space>" + attPrefix ) + ( OIMPerformanceTreeNode . ATTR_PERFORMANCE_CONFIG_CALL ) ) + "<seq2seq4repair_space>property<seq2seq4repair_space>for<seq2seq4repair_space>" ) + displayName ) + "<seq2seq4repair_space>api." ) ) ; performanceMetricForAdapter . put ( ATTR_BEAN , new OIMJMXWrapper . OIM_JMX_BEANS ( adapterBeanName ) ) ; performanceMetricForAdapter . put ( ATTR_BEAN_ATTRIBUTE , adapterBeanAttrPrefix ) ; performanceMetricForAdapter . put ( ATTR_NAME , ( displayName == null ? adapterBeanName : displayName ) ) ; OIMPerformanceTreeNode . logger . trace ( "Adding<seq2seq4repair_space>{}<seq2seq4repair_space>to<seq2seq4repair_space>{}" , performanceMetricForAdapter , performanceMetrics ) ; performanceMetrics . add ( performanceMetricForAdapter ) ; OIMPerformanceTreeNode . logger . trace ( "Processed<seq2seq4repair_space>Adapter" ) ; break ; } } else { OIMPerformanceTreeNode . logger . debug ( "Skipped<seq2seq4repair_space>{}<seq2seq4repair_space>items<seq2seq4repair_space>since<seq2seq4repair_space>last<seq2seq4repair_space>attribute<seq2seq4repair_space>as<seq2seq4repair_space>no<seq2seq4repair_space>type({})<seq2seq4repair_space>was<seq2seq4repair_space>found" , missingCounter , typeAttr ) ; missingCounter ++ ; } counter ++ ; } performanceItemDetails . put ( name , performanceMetrics ) ; } else { OIMPerformanceTreeNode . logger . debug ( "Skipping<seq2seq4repair_space>item<seq2seq4repair_space>{}<seq2seq4repair_space>since<seq2seq4repair_space>it<seq2seq4repair_space>does<seq2seq4repair_space>not<seq2seq4repair_space>have<seq2seq4repair_space>any<seq2seq4repair_space>associated<seq2seq4repair_space>name" , performanceItem ) ; } } for ( String performanceItem : performanceItemDetails . keySet ( ) ) { List < Map < String , Object > > performanceMetrics = performanceItemDetails . get ( performanceItem ) ; <START_BUG> AbstractUIComponentTreeNode node = new AbstractUIComponentTreeNode . DisplayComponentNode ( performanceItem , new OIMPerformanceDetails ( performanceItem , connection , performanceMetrics , configuration , selectionTree , displayArea ) , connection , configuration , selectionTree , displayArea ) ; <END_BUG>

Fix:
AbstractUIComponentTreeNode node = new AbstractUIComponentTreeNode . DisplayComponentNode ( performanceItem , new OIMPerformanceDetails ( performanceItem , connection , performanceMetrics , configuration , selectionTree , displayArea ) , connection , configuration , selectionTree , displayArea ) . initialize ( ) ;