docs: public Rule invokableCopy(FunctionRegistry functionRegistry) {
          final Builder builder = toBuilder();
          final Class<? extends GeneratedRule> ruleClass = generatedRuleClass();
          if (ruleClass != null) {
              try {
                  //noinspection unchecked
                  final Set<Constructor> constructors = ReflectionUtils.getConstructors(ruleClass);
                  final Constructor onlyElement = Iterables.getOnlyElement(constructors);
                  final GeneratedRule instance = (GeneratedRule) onlyElement.newInstance(functionRegistry);
                  builder.generatedRule(instance);
              } catch (IllegalAccessException | InstantiationException | InvocationTargetException e) {
                  LOG.warn("Unable to generate code for rule {}: {}", id(), e);
              }
          }
          return builder.build();
      }