ShapePointsLibrary spl = new ShapePointsLibrary();
List<XYPoint> projectedShapePoints = spl.getProjectedShapePoints(
shapePoints, projection);
XYPoint stopPoint = projection.forward(new CoordinatePoint(
47.664922340500475, -122.29066873484038));
double[] distanceAlongShape = {0.0, 405.7, 814.0};
List<PointAndIndex> assignments = spl.computePotentialAssignments(
projectedShapePoints, distanceAlongShape, stopPoint, 0, 3);