### Question:
RuleBuilder implements ParameterizedRule, RelocatableRule, CompositeCondition, CompositeOperation,
         CompositeRule, Context { public static RuleBuilder define() { return new RuleBuilder(); } private  RuleBuilder(); private  RuleBuilder(Rule rule); static RuleBuilder define(); static RuleBuilder wrap(final Rule rule); static RuleBuilder define(final String id); RuleBuilder withId(final String id); RuleBuilder withPriority(int priority); RuleBuilder when(final Condition condition); RuleBuilder perform(final Operation operation); @Override boolean evaluate(final Rewrite event, final EvaluationContext context); @Override void perform(final Rewrite event, final EvaluationContext context); @Override String getId(); @Override int priority(); @Override boolean isRelocated(); DefaultConditionBuilder getConditionBuilder(); DefaultOperationBuilder getOperationBuilder(); void accept(Visitor<Condition> visitor); @Override List<Operation> getOperations(); @Override List<Condition> getConditions(); @Override List<Rule> getRules(); @Override ParameterStore getParameterStore(); ConfigurableParameter<?> where(String name); @Override void clear(); @Override Object get(Object key); @Override void put(Object key, Object value); @Override boolean containsKey(Object key); @Override Set<String> getRequiredParameterNames(); @Override void setParameterStore(ParameterStore store); @Override String toString();  }### Answer:
@Test public void testRuleBuilderIsRelocatable() { RuleBuilder ruleBuilder = RuleBuilder.define(); Assert.assertTrue(ruleBuilder instanceof Weighted); Assert.assertTrue(ruleBuilder instanceof Rule); Assert.assertTrue(ruleBuilder instanceof Relocatable); Assert.assertTrue(ruleBuilder instanceof RelocatableRule); }