code: public boolean tryRemove(final Agent agent)
      {
          Objects.requireNonNull(agent, "agent cannot be null");
  
          if (Status.ACTIVE != status)
          {
              throw new IllegalStateException("remove called when not active");
          }
  
          return removeAgent.compareAndSet(null, agent);
      }
docs: Try and remove an {@link Agent} from the composite. The agent is removed during the next {@link #doWork()}
  duty cycle if this operation is successful. This method does not block and will return false if another
  concurrent attempt to remove is in progress..
  <p>
  The {@link Agent} is removed by identity. Only the first found is removed.
  
  @param agent to be removed.
  @return true is a successful remove request is pending otherwise false if another concurrent remove request
  is in progress.
  @see #hasRemoveAgentCompleted()