private void mode() {
        Stopwatch.start();

        Boolean moreThen0 = false;
        Map<Integer, Integer> freqs = new HashMap<Integer, Integer>();

        for (Integer val : _myBigArray) {
            Integer freq = freqs.get(val);
            if (freq == null) {
                freq = 1;
            } else {
                freq++;
                moreThen0 = true;
            }
            freqs.put(val, freq);
        }

        int mode = 0, maxFreq = 1;

        if (moreThen0) {
            for (Map.Entry<Integer, Integer> entry : freqs.entrySet()) {
                int freq = entry.getValue();
                int v = entry.getKey();
                if (freq > maxFreq) {
                    maxFreq = freq;
                    mode = v;
                } else if (freq == maxFreq && mode > v) {
                    // get the minimum of all the maximum frequencies
                    mode = v;
                }
            }
        }

        Stopwatch.stop();
        System.out.format("\tMode: %.2f\t%s\n", (double) mode, Stopwatch.getTimeStr());
    }