private void mergeGlobalProperties ( Map < String , Object > globalProperties , Map < String , Object > keenProperties , Map < String , Object > newEvent ) { if ( globalProperties != null ) { // Clone globals so we don't modify the original globalProperties = new HashMap < String , Object > ( globalProperties ) ; Object keen = globalProperties . remove ( "keen" ) ; if ( keen instanceof Map ) { keenProperties . putAll ( ( Map ) keen ) ; } newEvent . putAll ( globalProperties ) ; } }
Removes the keen key from the globalProperties map and if a map was removed then all of its pairs are added to the keenProperties map . Anything left in the globalProperties map is then added to the newEvent map .