class LongTimeSeries implements TimeSeries<Long> {

    @Override
    public boolean equals(final Object obj) {
        if (this == obj) {
            return true;
        }
        if (null == obj || getClass() != obj.getClass()) {
            return false;
        }

        final LongTimeSeries that = (LongTimeSeries) obj;

        return new EqualsBuilder()
                .append(timeBucket, that.timeBucket)
                .append(timeSeries, that.timeSeries)
                .isEquals();
    }

    public  LongTimeSeries(final TimeBucket timeBucket);
    @JsonCreator public  LongTimeSeries(@JsonProperty("timeBucket") final TimeBucket timeBucket,
                          @JsonProperty("timeSeries") final Map<Instant, Long> timeSeries);

}