code: public MonetaryContext getMonetaryContextOf(Number number) {
          if (number instanceof BigDecimal) {
              BigDecimal value = (BigDecimal) number;
              if (value.scale() > context.getMaxScale()) {
                  return MonetaryContextBuilder.of(Geldbetrag.class)
                          .setAmountType(Geldbetrag.class)
                          .setPrecision(context.getPrecision())
                          .setMaxScale(value.scale())
                          .set(RoundingMode.HALF_UP).build();
              }
          }
          return context;
      }
docs: Ermittelt den {@link MonetaryContext} der uebergebenen Nummer. Laesst er
  sich nicht ermitteln, wird der voreigestellte {@link MonetaryContext}
  zurueckgeliefert.
  
  @param number eine Zahl, z.B. 8.15
  @return den Kontext, der mit dieser Zahl verbunden ist (wie z.B.
  2 Nachkommastellen, ...)