docs: protected static void removeProvidedUpServices(Protocol protocol, List<Integer> events) {
          if(protocol == null || events == null)
              return;
          for(Protocol prot=protocol.getDownProtocol(); prot != null && !events.isEmpty(); prot=prot.getDownProtocol()) {
              List<Integer> provided_up_services=prot.providedUpServices();
              if(provided_up_services != null && !provided_up_services.isEmpty())
                  events.removeAll(provided_up_services);
          }
      }