code: public static final GlobalProperties combine(GlobalProperties gp1, GlobalProperties gp2) {
  		if (gp1.isFullyReplicated()) {
  			if (gp2.isFullyReplicated()) {
  				return new GlobalProperties();
  			} else {
  				return gp2;
  			}
  		} else if (gp2.isFullyReplicated()) {
  			return gp1;
  		} else if (gp1.ordering != null) {
  			return gp1; 
  		} else if (gp2.ordering != null) {
  			return gp2;
  		} else if (gp1.partitioningFields != null) {
  			return gp1;
  		} else if (gp2.partitioningFields != null) {
  			return gp2;
  		} else if (gp1.uniqueFieldCombinations != null) {
  			return gp1;
  		} else if (gp2.uniqueFieldCombinations != null) {
  			return gp2;
  		} else if (gp1.getPartitioning().isPartitioned()) {
  			return gp1;
  		} else if (gp2.getPartitioning().isPartitioned()) {
  			return gp2;
  		} else {
  			return gp1;
  		}
  	}
docs: --------------------------------------------------------------------------------------------