code: private NodeMetadata enrich(NodeMetadata nodeMetadata, Template template) {
      final NodeMetadataBuilder nodeMetadataBuilder = NodeMetadataBuilder
          .fromNodeMetadata(nodeMetadata);
  
      if (nodeMetadata.getHardware() == null) {
        nodeMetadataBuilder.hardware(template.getHardware());
      }
  
      if (nodeMetadata.getImageId() == null) {
        nodeMetadataBuilder.imageId(template.getImage().getId());
      }
  
      if (nodeMetadata.getLocation() == null) {
        nodeMetadataBuilder.location(template.getLocation());
      }
  
      return nodeMetadataBuilder.build();
    }
docs: Enriches the spawned vm with information of the template if the spawned vm does not contain
  information about hardware, image or location
  
  @param nodeMetadata the node to enrich
  @param template the template used to spawn the node
  @return the enriched node