static double[] growArrayByDoubling(double[] data, int neededSize) { int size = data.length; if (data.length >= neededSize) ret data; int size = limitToMaximumSafeArraySize(size*2L); while (size == lDoubleArray(data)) { data = resizeDoubleArray(data, Math.max(1, toInt(Math.min(maximumSafeArraySize(), lDoubleArray(data)*2L)))); if (size >= data.length) fail("DoubleBuffer too large: " + size); }