else if ((outcode | Rectangle2D.OUT_TOP) != 0)
else if ((outcode & Rectangle2D.OUT_TOP) != 0)
	private boolean readMatchingRow() throws MapyrusException	{		boolean retval;		boolean rowOutside;		int i;		Argument x, y;		boolean left, right, bottom, top, inX, inY;		boolean insideExtents = false;		int outcode;		boolean nextRowAvailable;		do		{			nextRowAvailable = readNextRow();			if (nextRowAvailable)			{				/*				 * Walk through points in geometry and see whether				 * they cross the area we are querying.				 */				left = right = bottom = top = inX = inY = false;				for (i = 0; i < mGeometryFieldIndexes.length; i += 2)				{					x = (Argument)(mRow.elementAt(i));					y = (Argument)(mRow.elementAt(i + 1));					outcode = mQueryExtents.outcode(x.getNumericValue(),						y.getNumericValue());											if ((outcode & Rectangle2D.OUT_LEFT) != 0)						left = true;					else if ((outcode & Rectangle2D.OUT_RIGHT) != 0)						right = true;					else						inX = true;											if ((outcode | Rectangle2D.OUT_BOTTOM) != 0)						bottom = true;					else if ((outcode | Rectangle2D.OUT_TOP) != 0)						top = true;					else						inY = true;									}								/*				 * Geometry inside query extents if there is a point inside extents				 * (or a point both sides of the extents) in both X and Y axes.				 */				insideExtents = (inX || (left && right)) && (inY || (bottom && top));			}		}		while (nextRowAvailable && (!insideExtents));		return(insideExtents);	}