code: public static Geldbetrag valueOf(MonetaryAmount other) {
          if (other instanceof Geldbetrag) {
              return (Geldbetrag) other;
          }
          BigDecimal value = other.getNumber().numberValue(BigDecimal.class);
          if (value.equals(BigDecimal.ZERO)) {
              return Geldbetrag.ZERO;
          }
          return new Geldbetrag(value).withCurrency(other.getCurrency());
      }
docs: Wandelt den angegebenen MonetaryAmount in einen Geldbetrag um. Um die
  Anzahl von Objekten gering zu halten, wird nur dann tatsaechlich eine
  neues Objekt erzeugt, wenn es sich nicht vermeiden laesst.
  <p>
  In Anlehnung an {@link BigDecimal} heisst die Methode "valueOf" .
  </p>
  
  @param other the other
  @return ein Geldbetrag