public ArrayList<AnalysisResult<T>> getOutliers(Track<T> track) {

        // the stream is wonky due to the raw type, probably could be improved

        return track.points().stream()
            .map(point -> analyzePoint(point, track))
            .filter(analysisResult -> analysisResult.isOutlier())
            .collect(toCollection(ArrayList::new));
    }
@Test
    public void testNoOutlier() {
        /*
         * Confirm that a flat altitude profile with a single 100-foot deviation (i.e. the minimum
         * possible altitude change) does not create an outlier.
         */
        Track<NopHit> testTrack2 = createTrackFromResource(VerticalOutlierDetector.class, "NoAltitudeOutlier_1.txt");

        Collection<AnalysisResult<NopHit>> outliers = (new VerticalOutlierDetector<NopHit>()).getOutliers(testTrack2);

        assertTrue(
            outliers.isEmpty(),
            "There should be no outliers, the test data contains the minimum possible altitude change"
        );
    }