package Ġcom . alex . m organ . bear list . list Ċ Ċ import Ġcom . alex . m organ . bear list . Be ar Ċ import Ġdagger . Re usable Ċ import Ġjava . util . ArrayList Ċ import Ġjava . util . Random Ċ import Ġjavax . inject . Inject Ċ Ċ @ Re usable Ċ class ĠRandom Be ar Generator Ġ@ Inject Ċ constructor ( private Ġval Ġname Generator : ĠBear Name Generator ) Ġ: ĠBear Source Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġall Be ars : ĠCollection < Be ar > ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Long Ġoperation Ġgoing Ġon Ġhere ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThread . sleep ( 2 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠInterruptedException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbe ars Ġ= ĠArrayList < Be ar >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 4 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbe ars . add ( this . random Be ar ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbe ars ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrandom Be ar (): ĠBear Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBear ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Generator . random Be ar Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// place bear . com /" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ( random . nextInt ( 1 0 0 ) Ġ+ Ġ 5 0 ) Ġ+ Ġ"/" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ( random . nextInt ( 1 0 0 ) Ġ+ Ġ 5 0 ) Ġ+ Ġ". jpg " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrandom Ġ= ĠRandom () ĊĠĠĠ Ġ} Ċ } Ċ