this.handles = new FactHandle[ Math.max( left.handles.length, right.handles.length ) ];
System.arraycopy( left.handles, 0, this.handles, 0, left.handles.length );
int hashCode = left.hashCode;
FactHandle handle;
for ( int i = right.handles.length - 1; i >= 0; i-- )
{
handle = right.handles[ i ];
if ( handle != null && this.handles[ i ] == null )
{
this.handles[ i ] = handle;
hashCode += handle.hashCode( );
}
}
this.hashCode = hashCode;
}