code: public LocalTime plusSeconds(long secondstoAdd) {
          if (secondstoAdd == 0) {
              return this;
          }
          int sofd = hour * SECONDS_PER_HOUR +
                      minute * SECONDS_PER_MINUTE + second;
          int newSofd = ((int) (secondstoAdd % SECONDS_PER_DAY) + sofd + SECONDS_PER_DAY) % SECONDS_PER_DAY;
          if (sofd == newSofd) {
              return this;
          }
          int newHour = newSofd / SECONDS_PER_HOUR;
          int newMinute = (newSofd / SECONDS_PER_MINUTE) % MINUTES_PER_HOUR;
          int newSecond = newSofd % SECONDS_PER_MINUTE;
          return create(newHour, newMinute, newSecond, nano);
      }
docs: Returns a copy of this {@code LocalTime} with the specified number of seconds added.
  <p>
  This adds the specified number of seconds to this time, returning a new time.
  The calculation wraps around midnight.
  <p>
  This instance is immutable and unaffected by this method call.
  
  @param secondstoAdd  the seconds to add, may be negative
  @return a {@code LocalTime} based on this time with the seconds added, not null