docs: public synchronized Lease allocate(@Nonnull FilePath base, Object context) throws InterruptedException {
          for (int i=1; ; i++) {
              FilePath candidate = i==1 ? base : base.withSuffix(COMBINATOR+i);
              Entry e = inUse.get(candidate.getRemote());
              if(e!=null && !e.quick && e.context!=context)
                  continue;
              return acquire(candidate,false,context);
          }
      }