/**
  * delete star or map prime to star of @param e
  */
 public void handleElement(MatrixElement e)
 {
     e.setStarred(false);
     if (e.isPrimed())
     {
         e.setPrimed(false);
         e.setStarred(true);
     }
 }
        /**
         * print method for debugging
         */
        public void printMe()
        {
            for (int i = 0; i < this.row; i++)
            {
                for (int j = 0; j < this.col; j++)
                {
                    MatrixElement e = this.matrix[i, j];
                    if (this.coveredRows[e.getMyRow()])
                    {
                        Console.Out.Write("|");
                    }
                    if (this.coveredCols[e.getMyCol()])
                    {
                        Console.Out.Write("|");
                    }
                    if (e.getValue() < Double.MaxValue)
                    {
                        double temp = ((int)(e.getValue() * 1000.0)) / 1000.0;
                        Console.Out.Write(temp);
                    }
                    else
                    {
                        Console.Out.Write("inf");
                    }

                    if (e.isPrimed())
                    {
                        Console.Out.Write("'");
                    }
                    if (e.isStarred())
                    {
                        Console.Out.Write("*");
                    }
                    if (this.coveredRows[e.getMyRow()])
                    {
                        Console.Out.Write("|");
                    }
                    if (this.coveredCols[e.getMyCol()])
                    {
                        Console.Out.Write("|");
                    }
                    Console.Out.Write("\t");
                }
                Console.Out.WriteLine();
            }
            Console.Out.Write("\n");
        }