@ CheckResult @ RestrictTo ( RestrictTo . Scope . LIBRARY ) public KeyPath addKey ( String key ) { KeyPath newKeyPath = new KeyPath ( this ) ; newKeyPath . keys . add ( key ) ; return newKeyPath ; }
Returns a new KeyPath with the key added . This is used during keypath resolution . Children normally don t know about all of their parent elements so this is used to keep track of the fully qualified keypath . This returns a key keypath because during resolution the full keypath element tree is walked and if this modified the original copy it would remain after popping back up the element tree .