private VmDiskInfo[] _BuildDiskList(OculiServiceVolumePersistedState[] volumes)
 {
     return(((IEnumerable <OculiServiceVolumePersistedState>)volumes).Select <OculiServiceVolumePersistedState, VmDiskInfo>((Func <OculiServiceVolumePersistedState, VmDiskInfo>)(volume =>
     {
         if (string.IsNullOrEmpty(volume.VirtualDiskPath))
         {
             this._Logger.Error("Volume missing Data Storage URL for job " + this._Context.JobInfoWrapper.Name);
             throw new OculiServiceServiceException(0, "Volume missing Data Storage URL");
         }
         string file = ESXHost.BuildDiskName(this._Context.JobInfoWrapper.SourceHostName, volume.Name);
         IVimDatastore datastoreByUrl = this._GetDatastoreByUrl(volume);
         long datastoreMaxVmdkSizeMb = this._ESXHost.GetDatastoreMaxVmdkSizeMB(datastoreByUrl);
         this._CheckDiskProvisioningType(volume);
         VmDiskInfo disk = new VmDiskInfo(false, file, volume.VmSCSIBus + 1, volume.VmSCSIUnitNumber, Math.Min(volume.DesiredSize / 1048576L, datastoreMaxVmdkSizeMb), "persistent", datastoreByUrl, volume.DiskProvisioningType, volume.PreexistingDiskPath);
         this._ReportOnDisk(disk, volume);
         return disk;
     })).ToArray <VmDiskInfo>());
 }
 protected virtual string _BuildESXDiskName(OculiServiceVolumePersistedState vi)
 {
     return(ESXHost.BuildDiskName(this._Context.JobInfoWrapper.SourceHostName, vi.Name));
 }