protected boolean validateSpaceRequirements() {
    int numOfVms = getParameters().getVmsCount();
    Collection<DiskImage> diskDummies =
        ImagesHandler.getDisksDummiesForStorageAllocations(diskInfoDestinationMap.values());
    Collection<DiskImage> disks = new ArrayList<>(numOfVms * diskDummies.size());
    // Number of added disks multiplies by the vms number
    for (int i = 0; i < numOfVms; ++i) {
      disks.addAll(diskDummies);
    }

    Guid spId = getVmTemplate().getStoragePoolId();
    Set<Guid> sdIds = destStorages.keySet();
    MultipleStorageDomainsValidator storageDomainsValidator =
        getStorageDomainsValidator(spId, sdIds);
    return validate(storageDomainsValidator.allDomainsWithinThresholds())
        && validate(storageDomainsValidator.allDomainsHaveSpaceForNewDisks(disks));
  }