for (int i = 0; i < featureCount; i++) {
int numValues = valueDistributions[i].length;
if (numValues == 1 && valueDistributions[i][0] == 0) {
bins[i] = NullNumericArray.getInstance();
} else if (numValues <= 2) {
bins[i] = new BitNumericArray(instanceCount);
} else if (numValues <= Byte.MAX_VALUE) {
bins[i] = new ByteNumericArray(instanceCount);
} else if (numValues <= Short.MAX_VALUE) {
bins[i] = new ShortNumericArray(instanceCount);
} else {