private void copyMainProps(AbstractTemplate from, AbstractTemplate to, Set<String> immutables, boolean isImmutable)
throws TemplateImmutabilityException {
if(!from.clusterDefaults.equals(ClusterDefaults.EMPTY_CLUSTER_DEFAULTS)){
to.clusterDefaults = ClusterDefaults.builder()
.setServices(mergeSet(to.clusterDefaults.services, from.clusterDefaults.services))
.setConfig(mergeConfig(to.clusterDefaults.config, from.clusterDefaults.config, immutables, isImmutable))
.setDNSSuffix(mergeString(to.clusterDefaults.dnsSuffix, from.clusterDefaults.dnsSuffix))
.setHardwaretype(mergeString(to.clusterDefaults.hardwaretype, from.clusterDefaults.hardwaretype))
.setImagetype(mergeString(to.clusterDefaults.imagetype, from.clusterDefaults.imagetype))
.setProvider(mergeString(to.clusterDefaults.provider, from.clusterDefaults.provider))
.build();
}
if(!from.compatibilities.equals(Compatibilities.EMPTY_COMPATIBILITIES)) {
to.compatibilities = Compatibilities.builder()
.setServices(mergeSet(to.compatibilities.services, from.compatibilities.services))
.setHardwaretypes(mergeSet(to.compatibilities.hardwaretypes, from.compatibilities.hardwaretypes))
.setImagetypes(mergeSet(to.compatibilities.imagetypes, from.compatibilities.imagetypes))
.build();
}
}