docs: @Override
      protected ManagementRequestHandler<?, ?> getRequestHandler(final ManagementRequestHeader header) {
          final ManagementRequestHandlerFactory[] snapshot = updater.get(this);
          // Iterate through the registered handlers
          return new ManagementRequestHandlerFactory.RequestHandlerChain() {
              final int length = snapshot.length;
              private int index = -1;
  
              @Override
              public ManagementRequestHandler<?, ?> resolveNext() {
                  if(index++ == length) {
                      return getFallbackHandler(header);
                  }
                  final ManagementRequestHandlerFactory factory = snapshot[index];
                  if(factory == null) {
                      // return getFallbackHandler(header);
                      return resolveNext();
                  }
                  return factory.resolveHandler(this, header);
              }
  
              @Override
              public <T, A> ActiveOperation<T, A> createActiveOperation(A attachment) {
                  return ManagementChannelHandler.this.registerActiveOperation(attachment);
              }
  
              @Override
              public <T, A> ActiveOperation<T, A> createActiveOperation(A attachment, ActiveOperation.CompletedCallback<T> completedCallback) {
                  return ManagementChannelHandler.this.registerActiveOperation(attachment, completedCallback);
              }
  
              @Override
              public <T, A> ActiveOperation<T, A> registerActiveOperation(Integer id, A attachment) {
                  return ManagementChannelHandler.this.registerActiveOperation(id, attachment);
              }
  
              @Override
              public <T, A> ActiveOperation<T, A> registerActiveOperation(Integer id, A attachment, ActiveOperation.CompletedCallback<T> completedCallback) {
                  return ManagementChannelHandler.this.registerActiveOperation(id, attachment, completedCallback);
              }
  
          }.resolveNext();
      }