public ManagedObjectReference CreateDVS(DVSCreateSpec spec)
        {
            ManagedObjectReference result;

            try
            {
                VersionUtils.RequiresVersion(this.Client, VimVersion.Vim4);
                ManagedObjectReference taskReference = this.CreateDVS_Task(spec);
                result = (ManagedObjectReference)this.Client.WaitForTask(taskReference);
            }
            catch (FaultException ex)
            {
                throw FaultUtility.HandleFault(ex);
            }
            return(result);
        }
        public ManagedObjectReference CreateDVS_Task(DVSCreateSpec spec)
        {
            ManagedObjectReference result;

            try
            {
                VersionUtils.RequiresVersion(this.Client, VimVersion.Vim4);
                CreateDVSRequestType createDVSRequestType = new CreateDVSRequestType();
                createDVSRequestType._this = (VimApi_65.ManagedObjectReference)VIConvert.ToWsdlType(this.MoRef);
                createDVSRequestType.spec  = (VimApi_65.DVSCreateSpec)VIConvert.ToWsdlType(spec);
                result = (ManagedObjectReference)VIConvert.ToVim(this.VimServiceProxy.CreateDVS_Task(new CreateDVS_TaskRequest(createDVSRequestType)).CreateDVS_TaskResponse.returnval);
            }
            catch (FaultException ex)
            {
                throw FaultUtility.HandleFault(ex);
            }
            return(result);
        }