public JCloudsSlave provisionSlave(JCloudsCloud cloud, TaskListener listener) throws IOException { Server nodeMetadata = provision(cloud); try { return new JCloudsSlave(cloud.getDisplayName(), getFsRoot(), nodeMetadata, labelString, numExecutors, overrideRetentionTime, getJvmOptions(), credentialsId, slaveType); } catch (Descriptor.FormException e) { throw new AssertionError("Invalid configuration " + e.getMessage()); } }