@SuppressWarnings("static-access")
	private void findNextPoint()
	{
		
		// Point courant qu'on va parcourir
		CalcWay currentWay = listWayToBrowse.get(0);
		
		// On recupere la liste de point de ce chemin
		List<Point> listPointCurrentWay = currentWay.getListPoint();
		
		// Recupere les coordonnes du dernier point de la liste de point du chemin 
		Point pointCurrent = listPointCurrentWay.get(listPointCurrentWay.size()-1);
		int i_xPointCurrent = (int) pointCurrent.getX();
		int i_yPointCurrent = (int) pointCurrent.getY();

		// On recupere les coordonnes du point d'arrivee
		int i_xPointStop = threadManager.getPointStop().x;
		int i_yPointStop = threadManager.getPointStop().y;
			
		// Si le point courant est le point d'arrivee
		if(i_xPointCurrent == threadManager.getPointStop().x && i_yPointCurrent == threadManager.getPointStop().y)
		{
			// Si le nombre de PdV pour se rendre au point courant est inferieur ou egale au nombre de PdV du meilleur chemin du point d'arret
			if(currentWay.getD_nbPdV() <= threadManager.getD_BestWay(i_xPointStop, i_yPointStop))
			{		
				// On ajoute le chemin courant a la liste de chemin avec en dernier point le point d'arrivee
				listWayWithPointStop.add(currentWay);
			}
		}
		else
		{
			//    Si le nombre de PdV pour se rendre au point courant est inferieur ou egale au nombre de PdV du meilleur chemin du point courant
			// et si le nombre de PdV pour se rendre au point courant est inferieur strict au nombre de PdV du meilleur chemin du point d'arret
			if(	currentWay.getD_nbPdV() <= threadManager.getD_BestWay(i_xPointCurrent, i_yPointCurrent) &&
				currentWay.getD_nbPdV() < threadManager.getD_BestWay(i_xPointStop, i_yPointStop))
			{
				// On parcourt les points a ajouter
				for(Point ptToAdd : listPointToAdd(pointCurrent))
				{
					// Variable temporaire de l'eventuel futur chemin a ajoute au sein de la liste
					CalcWay 		calcWayTmp;
					List<Point>		listPointTmp = new ArrayList<Point>(listPointCurrentWay);
					List<Integer>	listTypeTmp = new ArrayList<Integer>();
					double 			d_nbPdVTmp;
					
					// On ajoute le nombre de pdv pour ce rendre jusqu'au nouveau point a ajouter  
					d_nbPdVTmp = currentWay.getD_nbPdV() + calculatePdv(threadManager.getMap2D().get(i_yPointCurrent).get(i_xPointCurrent),threadManager.getMap2D().get(ptToAdd.y).get(ptToAdd.x));
						
					// Si le nombre de pdv qu'on vient de calculer est inferieur a celui du meilleur chemin
					if(d_nbPdVTmp > 0 && d_nbPdVTmp < threadManager.getD_BestWay(ptToAdd.x, ptToAdd.y) && d_nbPdVTmp < threadManager.getD_BestWay(i_xPointStop, i_yPointStop))
					{
						// On memorise le meilleur temps au sein de la map de meilleur temps
						threadManager.setD_BestWay(ptToAdd.x, ptToAdd.y, d_nbPdVTmp);
						
						// On ajoute le point a la liste
						listPointTmp.add(new Point(ptToAdd.x, ptToAdd.y));
						
						// On cree le nouveau chemin a parcourir
						calcWayTmp = new CalcWay(listPointTmp, listTypeTmp, d_nbPdVTmp);
						
						// On ajoute le chemin a la liste de chemin a parcourir
						listWayToBrowse.add(calcWayTmp);
					}
				}
			}
		}
		
		// On supprime le point courant de la liste
		listWayToBrowse.remove(0);
	}