private void stackAlgoPath(Level[] maze, TermS currentPoint)
	{
		if(maze[currentPoint.getLevel()]==null)
		{
			
		}
		else
		{
			char[][] map =maze[currentPoint.getLevel()].getLevel();
			byte[]limites=getTheLimites(map.length,currentPoint.getPositionI(),currentPoint.getPositionJ());
			if( validation[currentPoint.getLevel()]==null)
			{
				creatBooleanMap(currentPoint, map);
			}
			
			//for(int k=0 ; k< validation[currentPoint.getLevel()].length;k++)
			{
				//for(int q=0 ; q< validation[currentPoint.getLevel()].length ; q++)
				{
					//System.out.print( validation[currentPoint.getLevel()][k][q]);
					//System.out.print(" ");
				}
				//System.out.println("");
			}
			
			if(chooseTheCell(limites, validation[currentPoint.getLevel()],currentPoint))
			{
				TermS newTerm=(TermS)path.top();
				if(checkPositionChar(map, newTerm)!=1)
				{
					stackAlgoPath(maze , newTerm);
				}
				else{System.out.println("frsfsfer");}
			}
			else if(checkPositionChar(map, currentPoint)==0)
			{
				int nextLevel =Integer.parseInt(""+map[currentPoint.getPositionI()][currentPoint.getPositionJ()]);
				System.out.println(currentPoint.getLevel());
				System.out.println(nextLevel);
				if(maze[nextLevel]!=null)
				{
					chooseTheRigthStair(currentPoint.getLevel(), nextLevel, maze[nextLevel].getStairs());
					currentPoint.setDirection(' ');
					TermS newTerm =(TermS)path.top();
					map[newTerm.getPositionI()][newTerm.getPositionJ()]='x';    
					stackAlgoPath(maze, newTerm);
				}
				else
				{
					System.out.println("pop");
					TermS term =(TermS) path.pop();
					System.out.println(map[term.getPositionI()][term.getPositionJ()]);
					TermS term1 =(TermS) path.top();
					System.out.println(map[term1.getPositionI()][term1.getPositionJ()]);
					map[term.getPositionI()][term.getPositionJ()]='x';
					stackAlgoPath(maze, term1);
				}
			}
			else
			{
				path.pop();
				if(!path.isEmpty())
				{
					System.out.println("dsddsiu");
					TermS nextTerm =(TermS)path.top();
					System.out.println(nextTerm.getLevel());
					System.out.println(nextTerm.getPositionI());
					System.out.println(nextTerm.getPositionJ());
					stackAlgoPath(maze, nextTerm);
				}
			}
		}
		
	}