@Override
 public void copyTo(TemplateOptions to) {
   super.copyTo(to);
   if (to instanceof VCloudTemplateOptions) {
     VCloudTemplateOptions eTo = VCloudTemplateOptions.class.cast(to);
     if (getCustomizationScript() != null) eTo.customizationScript(getCustomizationScript());
     if (getDescription() != null) eTo.description(getDescription());
     if (getIpAddressAllocationMode() != null)
       eTo.ipAddressAllocationMode(getIpAddressAllocationMode());
   }
 }
 /** @see VCloudTemplateOptions#customizationScript */
 public static VCloudTemplateOptions customizationScript(String customizationScript) {
   VCloudTemplateOptions options = new VCloudTemplateOptions();
   return VCloudTemplateOptions.class.cast(options.customizationScript(customizationScript));
 }
 /** @see VCloudTemplateOptions#description */
 public static VCloudTemplateOptions description(String description) {
   VCloudTemplateOptions options = new VCloudTemplateOptions();
   return VCloudTemplateOptions.class.cast(options.description(description));
 }
 /** @see TemplateOptions#authorizePublicKey */
 public static VCloudTemplateOptions authorizePublicKey(Payload rsaKey) {
   VCloudTemplateOptions options = new VCloudTemplateOptions();
   return VCloudTemplateOptions.class.cast(options.authorizePublicKey(rsaKey));
 }
 /** @see TemplateOptions#withDetails */
 public static VCloudTemplateOptions withDetails() {
   VCloudTemplateOptions options = new VCloudTemplateOptions();
   return VCloudTemplateOptions.class.cast(options.withMetadata());
 }
 /** @see TemplateOptions#installPrivateKey */
 public static VCloudTemplateOptions installPrivateKey(Payload rsaKey) {
   VCloudTemplateOptions options = new VCloudTemplateOptions();
   return VCloudTemplateOptions.class.cast(options.installPrivateKey(rsaKey));
 }
 /** @see TemplateOptions#runScript */
 public static VCloudTemplateOptions runScript(Payload script) {
   VCloudTemplateOptions options = new VCloudTemplateOptions();
   return VCloudTemplateOptions.class.cast(options.runScript(script));
 }
 /** @see TemplateOptions#port */
 public static VCloudTemplateOptions blockOnPort(int port, int seconds) {
   VCloudTemplateOptions options = new VCloudTemplateOptions();
   return VCloudTemplateOptions.class.cast(options.blockOnPort(port, seconds));
 }
 /** @see TemplateOptions#inboundPorts */
 public static VCloudTemplateOptions inboundPorts(int... ports) {
   VCloudTemplateOptions options = new VCloudTemplateOptions();
   return VCloudTemplateOptions.class.cast(options.inboundPorts(ports));
 }
 /** @see VCloudTemplateOptions#ipAddressAllocationMode */
 public static VCloudTemplateOptions ipAddressAllocationMode(
     IpAddressAllocationMode ipAddressAllocationMode) {
   VCloudTemplateOptions options = new VCloudTemplateOptions();
   return VCloudTemplateOptions.class.cast(
       options.ipAddressAllocationMode(ipAddressAllocationMode));
 }