public void dumpDiff(SaturatedPropertyChain other, Writer writer)
			throws IOException {
    """
	Prints differences with other {@link SaturatedPropertyChain}
	
	@param other
	the {@link SaturatedPropertyChain} with which to compare this
	{@link SaturatedPropertyChain}
	@throws IOException
    """

		// comparing roots
		if (this.root != other.root)
			writer.append("this root: " + root + "; other root: " + other.root
					+ "\n");
		// comparing derived sub-properties
		Operations.dumpDiff(this.getSubPropertyChains(),
				other.getSubPropertyChains(), writer, root
						+ ": this sub-property not in other: ");
		Operations.dumpDiff(other.getSubPropertyChains(),
				this.getSubPropertyChains(), writer, root
						+ ": other sub-property not in this: ");
		// comparing derived compositions
		Operations.dumpDiff(this.getNonRedundantCompositionsByLeftSubProperty(),
				other.getNonRedundantCompositionsByLeftSubProperty(), writer, root
						+ ": this non-redundant left composition not in other: ");
		Operations.dumpDiff(this.getRedundantCompositionsByLeftSubProperty(),
				other.getRedundantCompositionsByLeftSubProperty(), writer, root
						+ ": this redundant left composition not in other: ");
		Operations.dumpDiff(other.getNonRedundantCompositionsByLeftSubProperty(),
				this.getNonRedundantCompositionsByLeftSubProperty(), writer, root
						+ ": other non-redundant left composition not in this: ");
		Operations.dumpDiff(other.getRedundantCompositionsByLeftSubProperty(),
				this.getRedundantCompositionsByLeftSubProperty(), writer, root
						+ ": other redundant left composition not in this: ");
		Operations.dumpDiff(this.getNonRedundantCompositionsByRightSubProperty(),
				other.getNonRedundantCompositionsByRightSubProperty(), writer, root
						+ ": this non-redundant right composition not in other: ");
		Operations.dumpDiff(this.getRedundantCompositionsByRightSubProperty(),
				other.getRedundantCompositionsByRightSubProperty(), writer, root
						+ ": this redundant right composition not in other: ");
		Operations.dumpDiff(other.getNonRedundantCompositionsByRightSubProperty(),
				this.getNonRedundantCompositionsByRightSubProperty(), writer, root
						+ ": other non-redundant right composition not in this: ");
		Operations.dumpDiff(other.getRedundantCompositionsByRightSubProperty(),
				this.getRedundantCompositionsByRightSubProperty(), writer, root
						+ ": other redundant right composition not in this: ");
	}
public void dumpDiff(SaturatedPropertyChain other, Writer writer)
			throws IOException {

		// comparing roots
		if (this.root != other.root)
			writer.append("this root: " + root + "; other root: " + other.root
					+ "\n");
		// comparing derived sub-properties
		Operations.dumpDiff(this.getSubPropertyChains(),
				other.getSubPropertyChains(), writer, root
						+ ": this sub-property not in other: ");
		Operations.dumpDiff(other.getSubPropertyChains(),
				this.getSubPropertyChains(), writer, root
						+ ": other sub-property not in this: ");
		// comparing derived compositions
		Operations.dumpDiff(this.getNonRedundantCompositionsByLeftSubProperty(),
				other.getNonRedundantCompositionsByLeftSubProperty(), writer, root
						+ ": this non-redundant left composition not in other: ");
		Operations.dumpDiff(this.getRedundantCompositionsByLeftSubProperty(),
				other.getRedundantCompositionsByLeftSubProperty(), writer, root
						+ ": this redundant left composition not in other: ");
		Operations.dumpDiff(other.getNonRedundantCompositionsByLeftSubProperty(),
				this.getNonRedundantCompositionsByLeftSubProperty(), writer, root
						+ ": other non-redundant left composition not in this: ");
		Operations.dumpDiff(other.getRedundantCompositionsByLeftSubProperty(),
				this.getRedundantCompositionsByLeftSubProperty(), writer, root
						+ ": other redundant left composition not in this: ");
		Operations.dumpDiff(this.getNonRedundantCompositionsByRightSubProperty(),
				other.getNonRedundantCompositionsByRightSubProperty(), writer, root
						+ ": this non-redundant right composition not in other: ");
		Operations.dumpDiff(this.getRedundantCompositionsByRightSubProperty(),
				other.getRedundantCompositionsByRightSubProperty(), writer, root
						+ ": this redundant right composition not in other: ");
		Operations.dumpDiff(other.getNonRedundantCompositionsByRightSubProperty(),
				this.getNonRedundantCompositionsByRightSubProperty(), writer, root
						+ ": other non-redundant right composition not in this: ");
		Operations.dumpDiff(other.getRedundantCompositionsByRightSubProperty(),
				this.getRedundantCompositionsByRightSubProperty(), writer, root
						+ ": other redundant right composition not in this: ");
	}
public void dumpDiff ( SaturatedPropertyChain other , Writer writer ) throws IOException { // comparing roots if ( this . root != other . root ) writer . append ( "this root: " + root + "; other root: " + other . root + "\n" ) ; // comparing derived sub-properties Operations . dumpDiff ( this . getSubPropertyChains ( ) , other . getSubPropertyChains ( ) , writer , root + ": this sub-property not in other: " ) ; Operations . dumpDiff ( other . getSubPropertyChains ( ) , this . getSubPropertyChains ( ) , writer , root + ": other sub-property not in this: " ) ; // comparing derived compositions Operations . dumpDiff ( this . getNonRedundantCompositionsByLeftSubProperty ( ) , other . getNonRedundantCompositionsByLeftSubProperty ( ) , writer , root + ": this non-redundant left composition not in other: " ) ; Operations . dumpDiff ( this . getRedundantCompositionsByLeftSubProperty ( ) , other . getRedundantCompositionsByLeftSubProperty ( ) , writer , root + ": this redundant left composition not in other: " ) ; Operations . dumpDiff ( other . getNonRedundantCompositionsByLeftSubProperty ( ) , this . getNonRedundantCompositionsByLeftSubProperty ( ) , writer , root + ": other non-redundant left composition not in this: " ) ; Operations . dumpDiff ( other . getRedundantCompositionsByLeftSubProperty ( ) , this . getRedundantCompositionsByLeftSubProperty ( ) , writer , root + ": other redundant left composition not in this: " ) ; Operations . dumpDiff ( this . getNonRedundantCompositionsByRightSubProperty ( ) , other . getNonRedundantCompositionsByRightSubProperty ( ) , writer , root + ": this non-redundant right composition not in other: " ) ; Operations . dumpDiff ( this . getRedundantCompositionsByRightSubProperty ( ) , other . getRedundantCompositionsByRightSubProperty ( ) , writer , root + ": this redundant right composition not in other: " ) ; Operations . dumpDiff ( other . getNonRedundantCompositionsByRightSubProperty ( ) , this . getNonRedundantCompositionsByRightSubProperty ( ) , writer , root + ": other non-redundant right composition not in this: " ) ; Operations . dumpDiff ( other . getRedundantCompositionsByRightSubProperty ( ) , this . getRedundantCompositionsByRightSubProperty ( ) , writer , root + ": other redundant right composition not in this: " ) ; }
Prints differences with other {@link SaturatedPropertyChain}

@param other
the {@link SaturatedPropertyChain} with which to compare this
{@link SaturatedPropertyChain}
@throws IOException
Prints differences with other { @link SaturatedPropertyChain }