public IWardNumberAssignedOperatingRooms Calculate(
     IWardNumberAssignedOperatingRoomsResultElementFactory wardNumberAssignedOperatingRoomsResultElementFactory,
     IWardNumberAssignedOperatingRoomsFactory wardNumberAssignedOperatingRoomsFactory,
     IWardNumberAssignedOperatingRoomsResultElementCalculation wardNumberAssignedOperatingRoomsResultElementCalculation,
     IW W,
     ITPz z)
 {
     return(wardNumberAssignedOperatingRoomsFactory.Create(
                W.Value
                .Select(i => wardNumberAssignedOperatingRoomsResultElementCalculation.Calculate(
                            wardNumberAssignedOperatingRoomsResultElementFactory,
                            i,
                            z))
                .ToImmutableList()));
 }