public MultiKey(Arrangement[] keysets) { if(keysets == null) { keyCount = 0; keys = new Arrangement[0]; } else { keyCount = keysets.length; keys = new Arrangement[keyCount]; int minLength = Integer.MAX_VALUE; for (int k = 0; k < keyCount; k++) { if(keysets[k] == null) return; minLength = Math.min(minLength, keysets[k].size); } for (int k = 0; k < keyCount; k++) { keys[k] = keysets[k].take(minLength); } } } /**