public static Map < String , Collection < IConditional > > getPropertiesUndefined ( FunctionInputDef function ) { Map < String , Collection < IConditional > > refs = getPropertyReferences ( function ) ; Collection < String > undefined = CollectionUtils . subtract ( refs . keySet ( ) , getPropertySources ( function ) . keySet ( ) ) ; return refs . entrySet ( ) . stream ( ) . filter ( entry -> undefined . contains ( entry . getKey ( ) ) ) . collect ( toMap ( entry -> entry . getKey ( ) , entry -> entry . getValue ( ) ) ) ; }
For every property in the given function input definition that is referenced but never defined maps the property to the conditional elements that reference it .