docs: private void disposeDataProvidersAndRules() {
          for (final Map.Entry<DP, List<R>> entry : dataProvidersToRules.entrySet()) {
              // Dispose data provider
              final DP dataProvider = entry.getKey();
              if (dataProvider instanceof Disposable) {
                  ((Disposable) dataProvider).dispose();
              }
  
              // Dispose rules
              final List<R> rules = entry.getValue();
              if (rules != null) {
                  for (final R rule : rules) {
                      if (rule instanceof Disposable) {
                          ((Disposable) rule).dispose();
                      }
                  }
              }
          }
  
          // Clears all triggers
          dataProvidersToRules.clear();
      }