class Murmur3PartitionerTokenRing implements TokenRing {

    @Override
    public BigInteger getTokenCountInRange(String startToken, String endToken)
    {
        long start = Long.parseLong(startToken);
        long end = Long.parseLong(endToken);

        if (start == end) {
            if (start == MIN_TOKEN) {
                return TOTAL_TOKEN_COUNT;
            }
            else {
                return ZERO;
            }
        }

        BigInteger result = BigInteger.valueOf(end).subtract(BigInteger.valueOf(start));
        if (end <= start) {
            result = result.add(TOTAL_TOKEN_COUNT);
        }
        return result;
    }

    private  Murmur3PartitionerTokenRing();

}