docs: @Override
      protected void processTerm(int linger)
      {
          //  Double termination should never happen.
          assert (!terminating);
  
          //  Send termination request to all owned objects.
          for (Own it : owned) {
              sendTerm(it, linger);
          }
          registerTermAcks(owned.size());
          owned.clear();
  
          //  Start termination process and check whether by chance we cannot
          //  terminate immediately.
          terminating = true;
          checkTermAcks();
      }