class BinaryTimeTree {

    public TIntList countsInRanges(List<TimeSpan> countTimes)
    {
        Utilities.checkNull(countTimes, "countTimes");

        if (countTimes.isEmpty())
        {
            return new TIntArrayList(0);
        }
        TIntList resultList = new TIntArrayList(countTimes.size());
        for (TimeSpan span : countTimes)
        {
            resultList.add(countInRange(span));
        }
        return resultList;
    }

    public  BinaryTimeTree();
    public  BinaryTimeTree(int maxValuesPerNode, int maxDepth);

}