docs: public boolean isMetBy(GlobalProperties props) {
  		if (this.partitioning == PartitioningProperty.ANY_DISTRIBUTION) {
  			return true;
  		} else if (this.partitioning == PartitioningProperty.FULL_REPLICATION) {
  			return props.isFullyReplicated();
  		}
  		else if (props.isFullyReplicated()) {
  			return false;
  		}
  		else if (this.partitioning == PartitioningProperty.RANDOM_PARTITIONED) {
  			return true;
  		}
  		else if (this.partitioning == PartitioningProperty.ANY_PARTITIONING) {
  			return checkCompatiblePartitioningFields(props);
  		}
  		else if (this.partitioning == PartitioningProperty.HASH_PARTITIONED) {
  			return props.getPartitioning() == PartitioningProperty.HASH_PARTITIONED &&
  					checkCompatiblePartitioningFields(props);
  		}
  		else if (this.partitioning == PartitioningProperty.RANGE_PARTITIONED) {
  			return props.getPartitioning() == PartitioningProperty.RANGE_PARTITIONED &&
  					props.matchesOrderedPartitioning(this.ordering);
  		}
  		else if (this.partitioning == PartitioningProperty.FORCED_REBALANCED) {
  			return props.getPartitioning() == PartitioningProperty.FORCED_REBALANCED;
  		}
  		else if (this.partitioning == PartitioningProperty.CUSTOM_PARTITIONING) {
  			return props.getPartitioning() == PartitioningProperty.CUSTOM_PARTITIONING &&
  					checkCompatiblePartitioningFields(props) &&
  					props.getCustomPartitioner().equals(this.customPartitioner);
  
  		}
  		else {
  			throw new CompilerException("Properties matching logic leaves open cases.");
  		}
  	}