public static ArrayList<ArrayList<Position>> isTherePolygon(List<Position> pos, Polygon p, double GIVENAPROX)
	{
		ArrayList<ArrayList<Position>> result = new ArrayList<ArrayList<Position>>();
		//TODO (fix) Revoir la proportion
		//For each point in the list
		for(int i = 0; i < pos.size(); i++)
		{
			//List of point on the vector line applied on the current Position
			ArrayList<PositionProportion> app = VectorDetection.isOnVectorLine(pos.get(i), p.getVectorList().get(0), pos, GIVENAPROX);
			
			for(int j = 0; j < app.size(); j++)
			{
				ArrayList<Position> form = new ArrayList<Position>();
				form.add(pos.get(i));
				form.add(app.get(j).getPosition());
				
				Position temp = null;
				Position current = app.get(j).getPosition();
				
				boolean ok = true;
				
				for(int vect = 1; vect < p.getVectorList().size() && ok; vect++)
				{
					ok = true;
					Vector currentVector = p.getVectorList().get(vect);
					double APROX = GIVENAPROX * currentVector.norm();
					try 
					{
						temp = VectorDetection.bestAproxPositionOf(pos,
								currentVector.multiplied(app.get(j).getProportion()).application(current),
								APROX);
					}
					catch (NoPositionAvailableException e) 
					{
						ok = false;
					}
					form.add(temp);
					current = temp;
				}
				
				if(form.get(0).equals(form.get(form.size()-1)))
				{
					form.remove(form.size()-1);
					if (form.size() == p.getVectorList().size())
						result.add(form);
				}
			}
		}
		return result;
	}