docs: private void printRulePhases(List<RuleProvider> allProviders)
      {
          List<RuleProvider> unsortedPhases = new ArrayList<>();
          for (RuleProvider provider : allProviders)
          {
              if (provider instanceof RulePhase)
                  unsortedPhases.add(provider);
          }
          List<RuleProvider> sortedPhases = RuleProviderSorter.sort(unsortedPhases);
          StringBuilder rulePhaseSB = new StringBuilder();
          for (RuleProvider phase : sortedPhases)
          {
              Class<?> unproxiedClass = Proxies.unwrap(phase).getClass();
              rulePhaseSB.append("\tPhase: ").append(unproxiedClass.getSimpleName()).append(System.lineSeparator());
          }
          LOG.info("Rule Phases: [\n" + rulePhaseSB.toString() + "]");
      }