} else { x = t; t = 0.0; return (mean + x * deviation);
    private static double gaussian(double mean, double deviation) {        double t = 0.0;        double x, v1, v2, r;        if (t == 0) {            do {                v1 = 2.0 * Math.random() - 1.0;                v2 = 2.0 * Math.random() - 1.0;                r = v1 * v1 + v2 * v2;            } while (r >= 1.0);            r = Math.sqrt((-2.0 * Math.log(r)) / r);            t = v2 * r;            return (mean + v1 * r * deviation);        } else {            x = t;            t = 0.0;            return (mean + x * deviation);        }    }