@Override
	public boolean equals( Object o )
	{
		if( this == o )
			return true;
		if( o == null || getClass() != o.getClass() )
			return false;

		ExtraComplexImmutableObject that = ( ExtraComplexImmutableObject )o;

		if( !aspect.equals( that.aspect ) )
			return false;
		if( !compositeBehavior.equals( that.compositeBehavior ) )
			return false;

		return true;
	}