docs: public void onClose()
      {
          status = Status.CLOSED;
  
          RuntimeException ce = null;
          for (final Agent agent : agents)
          {
              try
              {
                  agent.onClose();
              }
              catch (final Exception ex)
              {
                  if (ce == null)
                  {
                      ce = new RuntimeException(getClass().getName() + ": underlying agent error on close");
                  }
  
                  ce.addSuppressed(ex);
              }
          }
  
          agents = EMPTY_AGENTS;
  
          if (ce != null)
          {
              throw ce;
          }
      }