private void sort( List<EndPoint> endPoints, final Side side ){
		final Map<EndPoint, Double> scores = new HashMap<>();
		for( EndPoint point : endPoints ){
			scores.put( point, score( point, side ) );
		}
		Collections.sort( endPoints, new Comparator<EndPoint>() {
			@Override
			public int compare( EndPoint a, EndPoint b ) {
				double sa = scores.get( a );
				double sb = scores.get( b );
				
				if( sa < sb ){
					return -1;
				}
				else if( sa > sb ){
					return 1;
				}
				else{
					return 0;
				}
			}
		} );
	}