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); }