/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 - present ĠFacebook , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġ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 Ġcom . facebook . buck . mult it enant . service Ċ Ċ import Ġio . v avr . collection . HashSet Ċ import Ġio . v avr . collection . Set Ċ Ċ /* Ċ Ġ* ĠThere Ġare Ġa Ġlot Ġof Ġ" persistent Ġcollections " Ġlibraries Ġout Ġthere Ġfor ĠJava Ġ( V avr , ĠP Collections , Ċ Ġ* ĠPag uro , Ġetc .). ĠCurrently , Ġwe Ġare Ġusing ĠV avr , Ġbut Ġif Ġwe Ġlater Ġdiscover Ġthat Ġa Ġdifferent Ġlibrary Ċ Ġ* Ġhas Ġbetter Ġperformance , Ġworks Ġbetter Ġwith ĠKotlin , Ġetc ., Ġwe Ġshould Ġbe Ġable Ġto Ġswitch Ġwithout Ġtoo Ċ Ġ* Ġmuch Ġtrouble . Ċ Ġ* Ċ Ġ* ĠThe Ġsimplest Ġthing Ġwould Ġbe Ġto Ġintroduce Ġa Ġnew Ġtype Ġthat Ġwraps Ġa ĠV avr Ġcollection , Ġbut Ġthat Ġwould Ċ Ġ* Ġadd Ġan Ġextra Ġobject Ġfor Ġeach Ġinstance , Ġwhich Ġis Ġun des irable . ĠWe Ġcould Ġintroduce Ġan Ġinterface Ġto Ċ Ġ* Ġhide Ġthe Ġimplementation , Ġbut Ġapparently Ġyou Ġcannot Ġadd Ġan Ġinterface Ġto Ġan Ġexisting Ġclass : Ċ Ġ* Ġhttps :// stackoverflow . com / questions / 4 8 8 6 1 0 0 9 / is - it - possible - to - add - an - interface - to - an - existing - class - in - kotlin Ċ Ġ* Ċ Ġ* ĠInstead , Ġwe Ġuse Ġa Ġtype alias Ġaccomp an ied Ġby Ġa Ġnumber Ġof Ġextension Ġmethods . ĠThis Ġshould Ġmake Ġa Ċ Ġ* Ġfuture Ġmigration Ġtr act able Ġwithout Ġtaking Ġup Ġextra Ġmemory . Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* ĠA Ġpersistent Ġset Ġof Ġbuild Ġrule Ġnames . Ċ Ġ*/ Ċ type alias ĠBuild Rule Names Ġ= ĠSet < String > Ċ Ċ fun ĠSequence < String >. to Build Rule Names (): ĠBuild Rule Names Ġ= ĠHashSet . of All ( this . as Iterable ()) Ċ