private boolean externalNetworkValid(AddNetworkValidator validator) {
   ProviderValidator providerValidator =
       new ProviderValidator(
           getDbFacade().getProviderDao().get(getNetwork().getProvidedBy().getProviderId()));
   return validate(providerValidator.providerIsSet())
       && validate(validator.externalNetworkNewInDataCenter())
       && validate(validator.externalNetworkIsVmNetwork());
 }
 @Override
 protected boolean canDoAction() {
   AddNetworkValidator validator = getNetworkValidator();
   return validate(validator.dataCenterExists())
       && validate(validator.vmNetworkSetCorrectly())
       && validate(validator.stpForVmNetworkOnly())
       && validate(validator.mtuValid())
       && validate(validator.networkPrefixValid())
       && validate(validator.networkNameNotUsed())
       && validate(validator.vlanIdNotUsed())
       && validate(validator.qosExistsInDc())
       && (!getNetwork().isExternal() || externalNetworkValid(validator));
 }