### Question:
ConditionalMutation extends Mutation { public void addCondition(Condition condition) { checkArgument(condition != null, "condition is null"); this.conditions.add(condition); } ConditionalMutation(byte[] row, Condition... conditions);  ConditionalMutation(byte[] row, int start, int length, Condition... conditions);  ConditionalMutation(Text row, Condition... conditions);  ConditionalMutation(CharSequence row, Condition... conditions);  ConditionalMutation(ByteSequence row, Condition... conditions);  ConditionalMutation(ConditionalMutation cm); void addCondition(Condition condition); List<Condition> getConditions(); @Override boolean equals(Object o); @Override int hashCode(); @Override void setReplicationSources(Set<String> sources);  }### Answer:
@Test public void testAddCondition() { Condition c3 = new Condition(FAMILY, QUALIFIER3); cm.addCondition(c3); List<Condition> cs = cm.getConditions(); assertEquals(3, cs.size()); assertEquals(c1, cs.get(0)); assertEquals(c2, cs.get(1)); assertEquals(c3, cs.get(2)); }