private static void checkValidObject ( Path path , AbstractConfigObject reference , AbstractConfigObject value , List < ConfigException . ValidationProblem > accumulator ) { for ( Map . Entry < String , ConfigValue > entry : reference . entrySet ( ) ) { String key = entry . getKey ( ) ; Path childPath ; if ( path != null ) childPath = Path . newKey ( key ) . prepend ( path ) ; else childPath = Path . newKey ( key ) ; AbstractConfigValue v = value . get ( key ) ; if ( v == null ) { addMissing ( accumulator , entry . getValue ( ) , childPath , value . origin ( ) ) ; } else { checkValid ( childPath , entry . getValue ( ) , v , accumulator ) ; } } }
path is null if we re at the root