internal static async Task<Device> Create(Guid id, Environment environment, IEnvironmentService service) { service.ValidateNonNull(nameof(service)); var info = await service.Device(id); var result = new Device(environment, service, id, info.Name, info.Description, info.Location, info.IsAvailable, info.IsConnected); await DeviceProvider.AddDevices(environment, service, info.DeviceIds, result.Devices); await AddRecordables(environment, service, info.RecordableIds, result); return result; }