code: @Override
  	public int determineRandomShardNumber(final Optional<Integer> optShardNumber, final int numShards)
  	{
  		Preconditions.checkArgument(numShards > 0);
  		Preconditions.checkNotNull(optShardNumber);
  
  		if (optShardNumber.isPresent())
  		{
  			final int shardNumber = optShardNumber.get();
  			if (shardNumber >= 0 && shardNumber < numShards)
  			{
  				return optShardNumber.get();
  			}
  		}
  
  		// Otherwise...
  		return generator.nextInt(numShards);
  
  	}
docs: Helper method to determine the random shard number for the mutation operation. If {@code optShardNumber} is
  present, then this value will be used so long as it is greater-than or equal to zero. Otherwise, a PRNG will be
  used to select the next shard number based upon the current number of shards that are allowed for the current
  counter as specified by {@code numShards}.
  
  @param optShardNumber An {@link Optional} instance of {@link Integer} that specifies the shard number to use, if
  present.
  @param numShards The number of shards that the mutating counter has available to it for increment/decrement
  operations.
  @return