package Ġorg . nac . xpath selector . selector Ċ Ċ import Ġorg . nac . xpath selector . selector . attributes . KV Selector Attribute Ċ import Ġorg . nac . xpath selector . selector . attributes . Selector Attribute ĊĊĊ Ċ object ĠSelector Methods Helper Ġ{ ĊĠĠĠ Ġvar Ġprev Compose Selector : ĠCompose Selector ? Ġ= Ġnull Ċ } Ċ Ċ operator Ġfun ĠSelector . div ( selector : ĠSelector ): ĠCompose Selector Ġ{ ĊĠĠĠ Ġif Ġ( this Ġis ĠCompose Selector ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== ĠSelector Methods Helper . prev Compose Selector ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSelector Methods Helper . prev Compose Selector Ġ= Ġthis ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis . add ( selector ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠSelector Methods Helper . prev Compose Selector Ġ= ĠCompose Selector ( this ). add ( selector ) ĊĠĠĠ Ġreturn ĠSelector Methods Helper . prev Compose Selector !! Ċ } Ċ Ċ operator Ġfun Ġ< T : ĠSelector > T . get ( position : ĠInt ): ĠT Ġ{ ĊĠĠĠ Ġvar Ġres Ġ= Ġclone () ĊĠĠĠ Ġres . attributes . add ( KV Selector Attribute . Position ( position )) ĊĠĠĠ Ġreturn Ġres Ċ } Ċ Ċ operator Ġfun Ġ< T : ĠSelector > T . get ( position : ĠString ): ĠT Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġclone () ĊĠĠĠ Ġres . attributes . add ( KV Selector Attribute . Position ( position )) ĊĠĠĠ Ġreturn Ġres Ċ } Ċ Ċ operator Ġfun Ġ< T : ĠSelector > T . get ( arg : ĠSelector Attribute ): ĠT Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġclone () ĊĠĠĠ Ġres . attributes . add ( arg ) ĊĠĠĠ Ġreturn Ġres Ċ } Ċ Ċ operator Ġfun Ġ< T : ĠSelector > T . get ( selector : ĠSelector ): ĠT Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġclone () ĊĠĠĠ Ġres . attributes . add ( Selector Attribute ( sel Ġ= Ġselector )) ĊĠĠĠ Ġreturn Ġres Ċ } ĊĊ