/* Ċ Ġ* Ġ ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġ Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġ Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġ Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġ Ġto Ġyou Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ċ Ġ* Ġ Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ċ Ġ* Ġ Ġwith Ġthe ĠLicense . Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ċ Ġ* Ġ Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ċ Ġ* Ġ Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY Ċ Ġ* Ġ ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ċ Ġ* Ġ Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ċ Ġ* Ġ Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġorg . apache . t inker pop 4 . gre mlin . process . computer . traversal . strategy . final ization Ċ Ċ import Ġorg . apache . t inker pop 4 . gre mlin . process . traversal . Step Ċ Ċ /** Ċ Ġ* Ġ@ author ĠMark o ĠA . ĠRod rig ue z Ġ( http :// mark or od rig ue z . com ) Ċ Ġ*/ Ċ class ĠComputer Final ization Strategy Ġprivate Ġconstructor () Ġ: ĠAbstract Traversal Strategy < Final ization Strategy ?> () Ġ{ ĊĠĠĠ Ġ@ Override ĊĠĠĠ Ġfun Ġapply ( traversal : ĠTra versal . Admin < *, Ġ* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! Traversal Helper . on Graph Computer ( traversal ) Ġ|| Ġ! Traversal Helper . is Global Child ( traversal )) Ġreturn ĊĠĠĠĠĠĠĠ Ġfor Ġ( step Ġin Ġtraversal . get Steps ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( step Ġis ĠGraph Comp uting ) Ġ( step Ġas ĠGraph Comp uting ). on Graph Computer () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Override ĊĠĠĠ Ġfun Ġapply Prior (): ĠSet < Class < out ĠFinal ization Strategy ? >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCollections . singleton ( Profile Strategy :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠINSTANCE Ġ= ĠComputer Final ization Strategy () ĊĠĠĠĠĠĠĠ Ġfun Ġinstance (): ĠComputer Final ization Strategy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠINSTANCE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }