code: public BigDecimal transform(TimeScale scale) {
  
          BigDecimal elapsedTime =
              new BigDecimal(this.getElapsedTime(scale)).setScale(9, RoundingMode.UNNECESSARY);
          BigDecimal nanosecond = new BigDecimal(this.getNanosecond(scale));
          return elapsedTime.add(nanosecond.movePointLeft(9));
  
      }
docs: /*[deutsch]
  <p>Stellt diese Zeit als Dezimalwert in der angegebenen Zeitskala
  dar. </p>
  
  <p>Die Zeitskala bestimmt die Epochenreferenz und auch, wie seit dieser Epoche verstrichene
  Sekunden gez&auml;hlt werden. Zu beachten: Einige Zeitskalen wie TAI, GPS und UTC sind atomare
  Zeitskalen, die auf Atomuhren Bezug nehmen und kontinuierlich SI-Sekunden z&auml;hlen. Aber:
  Die jeweiligen Zeitskalen behandeln die Repr&auml;sentation von Schaltsekunden sehr verschieden.
  TAI zum Beispiel betrachtet eine verstrichene Schaltsekunde nicht als Schaltsekunde, sondern
  einfach als erste Sekunde des n&auml;chsten TAI-Tags, der entsprechend immer 86400 SI-Sekunden
  lang ist. Im Kontrast hierzu etikettiert UTC Schaltsekunden als solche, indem sie mit dem
  speziellen Wert &quot;60&quot; versehen werden, was eine Diskontinuit&auml;t darstellt. </p>
  
  @param   scale       time scale reference
  @return  decimal value in given time scale as seconds inclusive fraction
  @throws  IllegalArgumentException if this instance is out of range for given time scale
  @see     #toString(TimeScale)