code: @Override
      public void onSubscribe(final Subscription s) {
          Objects.requireNonNull(s);
  
          if (this.subscription != null) {
  
              subscription.cancel();
              s.cancel();
  
              return;
          }
  
          subscription = s;
  
          while (counter.subscription.size() > maxConcurrency) {
  
  
              LockSupport.parkNanos(100l);
          }
  
          counter.subscription.plus(subscription);
  
  
          s.request(1);
  
      }
docs: /* (non-Javadoc)
  @see org.reactivestreams.Subscriber#onSubscribe(org.reactivestreams.Subscription)