package Ġcom . equ isoft . aws mocks . ec 2 . application Ċ Ċ import Ġcom . amazonaws . services . ec 2 . model . Tag Ċ import Ġcom . amazonaws . services . ec 2 . model . Volume Ċ import Ġcom . equ isoft . aws mocks . common . infrastructure . persistence . Resource Tags Repository Ċ import Ġcom . equ isoft . aws mocks . ec 2 . domain . create Default Root Volume Ċ import Ġcom . equ isoft . aws mocks . ec 2 . infrastructure . persistence . Volume Repository Ċ Ċ class ĠVolume Service ( ĊĠĠĠ Ġvolume Repository : ĠVolume Repository , ĊĠĠĠ Ġtags Repository : ĠResource Tags Repository < Tag > Ċ ) Ġ: ĠBase Ec 2 Service < Volume , ĠVolume Repository >({ Ġit . volume Id Ġ}, Ġvolume Repository , Ġtags Repository ) Ġ{ ĊĠĠĠ Ġoverride Ġval Ġnot Found Message : ĠString Ġ= Ġ" Invalid Volume ID . NotFound " ĊĊĠĠĠ Ġoverride Ġfun Ġwith Tags ( value : ĠVolume , Ġtags : ĠCollection < Tag >): ĠVolume Ġ= Ġvalue . with Tags ( tags ) ĊĊĠĠĠ Ġfun Ġensure Default Volume For Instance ( instanceId : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( repository . find Root Volume ( instanceId ) Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd OrUpdate ( create Default Root Volume ( instanceId )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ