### Question:
Rule { public StringTuple getRHS() { return rhs; } Rule(String lhs, StringTuple rhs);  Rule(String lhs, String rhs);  Rule(String lhs, String rhs, SemanticFunction semantics);  Rule(String lhs, StringTuple rhs, SemanticFunction semantics);  Rule(String lhs, String rhs, Map<String, Object> semantics);  Rule(String lhs, String rhs, String semantics); String getLHS(); StringTuple getRHS(); SemanticFunction getSemantics(); boolean isLexical(); boolean isUnary(); boolean isBinary(); boolean isCategorial(); boolean hasOptionals(); void validate(); boolean isCat(String label); boolean isOptional(String label); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test void getRHS() { Rule r = new Rule("$A", "B C D"); assertEquals(r.getRHS(), StringTuple.fromParts("B", "C", "D")); }