public ChordalAxis clone()
	{
		ArrayList<ChordalAxisPoint> clonedPoints = new ArrayList<ChordalAxisPoint>(points.size());
		for (ChordalAxisPoint point : points)
		{
			 clonedPoints.add(point.clone());
		}
		for (ChordalAxisPoint clonedPoint : clonedPoints)
		{
			ChordalAxisPoint original = findSamePoint(this.points, clonedPoint);
			for (ChordalAxisPoint originalNeighbour : original.getConnections())
			{
				ChordalAxisPoint clonedNeighbour = findSamePoint(clonedPoints, originalNeighbour);
				clonedPoint.connect(clonedNeighbour);
			}
		}
		ChordalAxis clone = new ChordalAxis(clonedPoints);
		return clone;
	}