@Test
    public void testPreventRegression() {
        // This test is as the multi collision changes lead to a regression where sometimes a collision was ignored
        // Ray parameters obtained by using TerrainTestCollision (manual inspection of a feasible ray and commenting out setLocalScale(2))
        Ray r = new Ray(new Vector3f(101.61858f, 78.35965f, 17.645157f), new Vector3f(-0.4188528f, -0.56462675f, 0.71116734f));

        CollisionResults cr = new CollisionResults();
        quad.collideWith(r, cr);

        Assert.assertEquals(3, cr.size());
        Assert.assertEquals(68.1499f, cr.getClosestCollision().getDistance(), 0.01f);
        Assert.assertEquals(new Vector3f(73.07381f, 39.88039f, 66.11114f), cr.getClosestCollision().getContactPoint());
        Assert.assertEquals(new Vector3f(0.9103665f, 0.33104235f, -0.24828176f), cr.getClosestCollision().getContactNormal());
    }
Due to a previous bug, when no collision should happen, the CollisionResults struct was still populated, leading
to an incoherency of data and ghost collisions when passing a non-empty CR.
jme3-terrain/src/test/java/com/jme3/terrain/collision/TerrainCollisionTest.java