class TimeSeries implements Serializable {

    public TimeSeries subseries(int beginIndex, int endIndex) {
        if (maximumTickCount != Integer.MAX_VALUE) {
            throw new IllegalStateException("Cannot create a sub-series from a time series for which a maximum tick count has been set");
        }
        return new TimeSeries(name, ticks, beginIndex, endIndex, true);
    }

    public  TimeSeries(String name, List<Tick> ticks);
    public  TimeSeries(List<Tick> ticks);
    public  TimeSeries(String name);
    public  TimeSeries();
    private  TimeSeries(String name, List<Tick> ticks, int beginIndex, int endIndex, boolean subSeries);

}