package Ġorg . nac . xpath selector . selector Ċ Ċ class ĠCompose Selector ( ĊĠĠĠ Ġvar Ġselectors : ĠArrayList < Selector > Ġ= ĠArrayList ()): ĠSelector () Ġ{ ĊĊĠĠĠ Ġconstructor ( selector : ĠSelector ) Ġ: Ġthis () Ġ{ ĊĠĠĠĠĠĠĠ Ġselectors . add ( selector ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd ( selector : ĠSelector ): ĠCompose Selector Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġres Ġ= Ġclone () ĊĊĠĠĠĠĠĠĠ Ġres . selectors . add ( selector ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġto Xpath ( add Attr : Boolean ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġres Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġselectors . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Ġ+= Ġ" (${ it . to Xpath () }) Ġ| Ġ" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġres . remove Suffix (" Ġ| Ġ") ĊĠĠĠ Ġ} Ċ } ĊĊ