public boolean equals(Object o) {
		if (this == o)
			return true;
		if (!(o instanceof UnaryRule))
			return false;

		final UnaryRule unaryRule = (UnaryRule) o;

		if (child != null ? !child.equals(unaryRule.child)
				: unaryRule.child != null)
			return false;
		if (parent != null ? !parent.equals(unaryRule.parent)
				: unaryRule.parent != null)
			return false;

		return true;
	}