@Override
  protected long calculateBase(final long base, final long remainder, final int droppedDigits, final int layoutBase)
  {
	final long roundedBase = base - ((base < 0 && remainder != 0) ? 1 : 0);
	if (layoutBase != 1)
	{
	  final long layoutRemainder = roundedBase % layoutBase;
	  if (layoutRemainder != 0)
	  {
		if (roundedBase > 0)
		{
		  return roundedBase - layoutRemainder;
		}
		else
		{
		  return roundedBase - layoutRemainder - layoutBase;
		}
	  }
	}
	return roundedBase;
  }