private Point _getHoleEdgePoint(byte[][] array, Point center, double alpha,
				   int depth, boolean isDisplayEnabled)
  {
    double centerX = center.getX();
    double centerY = center.getY();
    double cosAlpha;
    double sinAlpha;
    int tempX;
    int tempY;
    boolean foundMaskEdge = false;

    cosAlpha = Math.cos( alpha );
    sinAlpha = Math.sin( alpha );
    while( depth >= 0 ) {
	tempX = (int) Math.floor( centerX + depth * cosAlpha + 0.5 );
	tempY = (int) Math.floor( centerY + depth * sinAlpha + 0.5 );
	if( tempX >= 0 && tempY >= 0 && tempX < X_DIM && tempY < Y_DIM ){
	    if( array[tempX][tempY] > 0 && ( !foundMaskEdge ) ) {
		foundMaskEdge = true;
	    }
	    if( array[tempX][tempY] <= 0 && foundMaskEdge) {

		// Found the edge mask point and return
		Point point = new Point(tempX, tempY);
		return point;
	    }
	}
	depth--;
    }

    // If not found the edge mask point, return null
    return null;
  }