code: @Nonnull
    public static Price createFromGrossAmount (@Nonnull final ICurrencyValue aGrossAmount,
                                               @Nonnull final IVATItem aVATItem,
                                               @Nonnegative final int nScale,
                                               @Nonnull final RoundingMode eRoundingMode)
    {
      ValueEnforcer.notNull (aVATItem, "VATItem");
  
      final BigDecimal aFactor = aVATItem.getMultiplicationFactorNetToGross ();
      if (MathHelper.isEQ1 (aFactor))
      {
        // Shortcut for no VAT (net == gross)
        return new Price (aGrossAmount, aVATItem);
      }
  
      return new Price (aGrossAmount.getCurrency (),
                        aGrossAmount.getValue ().divide (aFactor, nScale, eRoundingMode),
                        aVATItem);
    }
docs: Create a price from a gross amount.
  
  @param aGrossAmount
  The gross amount to use. May not be <code>null</code>.
  @param aVATItem
  The VAT item to use. May not be <code>null</code>.
  @param nScale
  The scaling to be used for the resulting amount, in case
  <code>grossAmount / (1 + perc/100)</code> delivery an inexact
  result.
  @param eRoundingMode
  The rounding mode to be used to create a valid result.
  @return The created {@link Price}