private void generateLanes(Street street, LaneTemplates laneTemplates, Tile tile)
	{
		Lane lane = null;
		for (LaneTemplate laneTemplate : laneTemplates.getLaneTemplate())
		{
			lane = new Lane(fGlobals,street);
			String from = laneTemplate.getFrom();
			String to = laneTemplate.getTo();

			Side start = tile.getSide(from);
			Side dest = tile.getSide(to);

			lane.setType(getLaneType(from, to));
			lane.setIsEndLane(laneTemplate.isIsEndPoint());
			lane.setIsStartLane(laneTemplate.isIsStartPoint());
			lane.setTo(to);
			lane.setFrom(from);
			if (lane.getType() == ILaneTypes.STRAIGHT)
			{
				createStraight(lane, start, dest, from, to);
			}
			if (lane.getType() == ILaneTypes.BEND)
			{
				createBend(lane, start, dest, from, to);
			}

			// add this lane as a starting point to the compassPoint "to" from the starting anchor of the lane
			lane.getStart().addOutputLane(lane);
            lane.getEnd().addInputLane(lane);

			lane.init();

			street.addLane(lane);
			if (tile.getMap() != null)
			{
				if (lane.isStartLane())
				{
					tile.getMap().addStart(lane);
				}
				else if (lane.isEndLane())
				{

					tile.getMap().addEnd(lane);
				}
			}

		}
	}