docs: public void autoRegisterNodes() {
          // if java did atomic blocks, this would be one
          synchronized (this) {
              if (autoRegistrationRunning || autoRegistrationComplete) {
                  // registration already done or in process, abort
                  return;
              }
          }
          autoRegistrationRunning = true;
          try {
              callAutoRegisterMethods(getClass());
          } finally {
              autoRegistrationComplete = true;
              autoRegistrationRunning = false;
          }
      }