package Ġorg . mit all ast . queue . common . component Ċ Ċ import Ġcom . google . inject . Gu ice Ċ import Ġcom . google . inject . Injector Ċ import Ġcom . google . inject . Module Ċ import Ġjava . util .* Ċ Ċ class ĠModules Builder Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġmodules : ĠMutable List < Module > Ġ= ĠArrayList () ĊĊĠĠĠ Ġfun Ġadd ( var arg Ġmodules : ĠModule ): ĠModules Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( module Ġin Ġmodules ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( module ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd ( module : ĠModule ): ĠModules Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġmodules . add ( module ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Injector (): ĠInject or Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGu ice . create Injector ( modules ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Child Injector ( injector : ĠInject or ): ĠInject or Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinjector . create Child Injector ( modules ) ĊĠĠĠ Ġ} Ċ } Ċ