code: public static ChronoFunction<Moment, PlainTimestamp> apparentAt(ZonalOffset offset) {
  
          return context -> {
              PlainTimestamp meanSolarTime = onAverage(context, offset);
              double eot = equationOfTime(context);
              long secs = (long) Math.floor(eot);
              int nanos = (int) ((eot - secs) * 1_000_000_000);
              return meanSolarTime.plus(secs, ClockUnit.SECONDS).plus(nanos, ClockUnit.NANOS);
          };
  
      }
docs: /*[deutsch]
  <p>Ermittelt die wahre Ortszeit zur angegebenen lokalen Zeitzonendifferenz. </p>
  
  <p>Basiert auf der astronomischen Zeitgleichung. Die Standardberechnungsmethode ist
  gew&ouml;hnlich {@link StdSolarCalculator#NOAA}, es sei denn, eine andere Methode wurde
  &uuml;ber den {@code ServiceLoader}-Mechanismus geladen. </p>
  
  @param   offset      the time zone offset which might depend on the geographical longitude
  @return  function for getting the apparent solar time
  @see     ZonalOffset#atLongitude(OffsetSign, int, int, double)
  @see     #equationOfTime(Moment)