package Ġorg . apache . t inker pop . gre mlin . og m . steps . bound . single Ċ Ċ import Ġorg . apache . t inker pop . gre mlin . og m . steps . Step Ċ import Ġorg . apache . t inker pop . gre mlin . og m . steps . bound . Bound Step Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Single Bound Step ] Ġcomp o ses Ġa Ġ[ Step ] Ġand Ġa Ġsingle Ġ[ FROM ] Ġobject Ġto Ġstart Ġthe Ġtraversal Ġfrom . Ċ Ġ*/ Ċ interface ĠSingle Bound Step < FROM , ĠTO > Ġ: ĠBound Step < FROM , ĠTO > Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġobject Ġto Ġstart Ġthe Ġ[ Single Bound Step ]' s Ġg Ġwith ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġfrom : ĠFROM ĊĊĠĠĠ Ġoverride Ġval Ġfrom s : ĠList < FROM > Ġget () Ġ= ĠlistOf ( from ) ĊĊĠĠĠ Ġoverride Ġval Ġstep : ĠStep < FROM , ĠTO > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġ[ Single Bound Step ] Ġthat Ġtra ver ses Ġto Ġa Ġoptional Ġor Ġnon - optional Ġ( aka Ġsingle ) Ġobject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinterface ĠTo One < FROM , ĠTO > Ġ: ĠSingle Bound Step < FROM , ĠTO >, ĠBound Step . ToOne < FROM , ĠTO > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġstep : ĠStep . ToOne < FROM , ĠTO > ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġ[ Single Bound Step ] Ġthat Ġresults Ġto Ġ 0 Ġor Ġmore Ġ' TO ' Ġobjects . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinterface ĠTo Many < FROM , ĠTO > Ġ: ĠSingle Bound Step < FROM , ĠTO >, ĠBound Step . ToMany < FROM , ĠTO > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġstep : ĠStep . ToMany < FROM , ĠTO > ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġ[ Single Bound Step ] Ġthat Ġresults Ġto Ġexactly Ġ 1 Ġ' TO ' Ġobjects . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinterface ĠTo Single < FROM , ĠTO > Ġ: ĠTo One < FROM , ĠTO >, ĠBound Step . To Single < FROM , ĠTO > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġstep : ĠStep . To Single < FROM , ĠTO > ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġ[ Single Bound Step ] Ġthat Ġresults Ġto Ġ 0 Ġor Ġ 1 Ġ' TO ' Ġobjects . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinterface ĠTo Optional < FROM , ĠTO > Ġ: ĠTo One < FROM , ĠTO >, ĠBound Step . To Optional < FROM , ĠTO > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġstep : ĠStep . To Optional < FROM , ĠTO > ĊĠĠĠ Ġ} Ċ } Ċ