this.radius = -1;
this.radius = 0;
    private void recurseMini(Vector3f[] points, int p, int b, int ap) {        switch (b) {        case 0:            this.radius = -1;            this.center.set(0, 0, 0);            break;        case 1:            this.radius = 1 - radiusEpsilon;            this.center.set(points[ap - 1]);            break;        case 2:            setSphere(points[ap - 1], points[ap - 2]);            break;        case 3:            setSphere(points[ap - 1], points[ap - 2], points[ap - 3]);            break;        case 4:            setSphere(points[ap - 1], points[ap - 2], points[ap - 3],                    points[ap - 4]);            return;        }        for (int i = 0; i < p; i++) {            if (points[i + ap].distanceSquared(center) - radius * radius > radiusEpsilon - 1) {                Vector3f temp = points[i + ap];                for (int j = i; j > 0; j--) {                    points[j + ap] = points[j - 1 + ap];                }                points[ap] = temp;                recurseMini(points, i, b + 1, ap + 1);            }        }    }