code: public PolicyFactory toFactory() {
      ImmutableSet.Builder<String> textContainerSet = ImmutableSet.builder();
      for (Map.Entry<String, Boolean> textContainer
           : this.textContainers.entrySet()) {
        if (Boolean.TRUE.equals(textContainer.getValue())) {
          textContainerSet.add(textContainer.getKey());
        }
      }
      CompiledState compiled = compilePolicies();
  
      return new PolicyFactory(
          compiled.compiledPolicies, textContainerSet.build(),
          ImmutableMap.copyOf(compiled.globalAttrPolicies),
          preprocessor, postprocessor);
    }
docs: Like {@link #build} but can be reused to create many different policies
  each backed by a different output channel.