private void Create()
        {
            // impersonate thread
            if (ThreadUserId != -1)
            {
                SecurityContext.SetThreadPrincipal(ThreadUserId);
            }

            // perform backup
            VirtualizationServerController.CreateVirtualMachineInternal(TaskId, Item, OsTemplate,
                                                                        ExternalAddressesNumber, RandomExternalAddresses, ExternalAddresses,
                                                                        PrivateAddressesNumber, RandomPrivateAddresses, PrivateAddresses,
                                                                        SummaryLetterEmail);
        }