private static <T> BuildRule createBuildRule(
     TargetGraph targetGraph,
     BuildRuleParams params,
     BuildRuleResolver ruleResolver,
     TargetNode<T> node,
     Flavor... flavors) {
   BuildTarget target = BuildTarget.builder(params.getBuildTarget()).addFlavors(flavors).build();
   Description<T> description = node.getDescription();
   T args = node.getConstructorArg();
   return description.createBuildRule(
       targetGraph,
       params.copyWithChanges(target, params.getDeclaredDeps(), params.getExtraDeps()),
       ruleResolver,
       args);
 }