code: @Override
  	public MonetaryAmount apply(MonetaryAmount amount){
  		Objects.requireNonNull(amount, "Amount required.");
  		BigDecimal number = amount.getNumber().numberValue(BigDecimal.class);
  		BigDecimal wholes = number.setScale(0, RoundingMode.DOWN);
  		return amount.subtract(amount.getFactory().setNumber(wholes).create());
  	}
docs: Gets the minor part of a {@code MonetaryAmount} with the same scale.
  <p>
  This returns the monetary amount in terms of the minor units of the
  currency, truncating the whole part if necessary. For example, 'EUR 2.35'
  will return 'EUR 0.35', and 'BHD -1.345' will return 'BHD -0.345'.
  <p>
  This is returned as a {@code MonetaryAmount} rather than a
  {@code BigDecimal} . This is to allow further calculations to be
  performed on the result. Should you need a {@code BigDecimal}, simply
  call {@code asType(BigDecimal.class)}.
  
  @return the minor units part of the amount, never {@code null}