private ClusterSpec whirrConfigurationToClusterSpec(HostDescription hostDescription,
File workingDirectory) throws IOException, GFacHandlerException, ConfigurationException {
File whirrConfig = getWhirrConfigurationFile(hostDescription, workingDirectory);
CompositeConfiguration compositeConfiguration = new CompositeConfiguration();
Configuration configuration = new PropertiesConfiguration(whirrConfig);
compositeConfiguration.addConfiguration(configuration);
ClusterSpec hadoopClusterSpec = new ClusterSpec(compositeConfiguration);
for (ClusterSpec.Property required : EnumSet.of(CLUSTER_NAME, PROVIDER, IDENTITY, CREDENTIAL,
INSTANCE_TEMPLATES, PRIVATE_KEY_FILE)) {