class SplitHistory implements Comparable<SplitHistory>, Serializable {

    public SplitHistory[] split(int num) {
        if (num < 2) {
            throw new IllegalArgumentException("num argument must be greater than 1");
        }
        SplitHistory[] result = new SplitHistory[num];        
        for (int i = 0; i < num; i++) {
            boolean last = (i == num - 1);
            result[i] = split(i, last);
        }
        return result;
    }

    public  SplitHistory();
    public  SplitHistory(int initialCapacity);
    private  SplitHistory(boolean addRoot);
    private  SplitHistory(int initialCapacity, boolean addRoot);

}