private void computePolylines(Board board) {
		final Collection<ALink> latter = new ArrayList<ALink>();
		final Kingdom kingdom = new Kingdom();
		final List<? extends ALink> links = new ArrayList<ALink>(board.getLinks());
		Collections.sort(links, board.getLinkComparator());
		for (ALink link : links) {
			final Pointable pp1 = nodePoints.get(link.getNode1());
			final Pointable pp2 = nodePoints.get(link.getNode2());
			if (kingdom.isSimpleSegmentPossible(pp1.getPosition(), pp2.getPosition())) {
				Log.println("OK for " + link);
				kingdom.addDirectLink(pp1.getPosition(), pp2.getPosition());
				polylines.add(new PolylineImpl(pp1, pp2));
			} else {
				Log.println("Latter for " + link);
				latter.add(link);
			}
		}

		Log.println("latters=" + latter.size());
		for (ALink link : latter) {
			Log.println("Alatter=" + link);
		}
		for (ALink link : latter) {
			Log.println("Blatter=" + link);
			final Pointable pp1 = nodePoints.get(link.getNode1());
			final Pointable pp2 = nodePoints.get(link.getNode2());
			polylines.add((PolylineImpl) kingdom.getPath(pp1, pp2));
		}
	}