### Question:
Count { public Count apply( Count count ) { if ( !StringUtils.equals( count.getCounterName(), getCounterName() ) ) { throw new IllegalArgumentException( "Attempt to apply a counter with a different name" ); } this.value += count.getValue(); return this; } @JsonCreator  Count( @JsonProperty(value = "tableName") String tableName, @JsonProperty(value = "keyName") K keyName,
                  @JsonProperty(value = "columnName") C columnName, @JsonProperty(value = "value") long value ); Count apply( Count count ); @JsonIgnore String getCounterName(); long getValue(); C getColumnName(); K getKeyName(); @JsonIgnore ByteBuffer getKeyNameBytes(); @JsonIgnore ByteBuffer getColumnNameBytes(); @JsonIgnore Serializer<K> getKeySerializer(); @JsonIgnore Serializer<C> getColumnNameSerializer(); String getTableName(); @Override String toString();  }### Answer:
@Test(expected = IllegalArgumentException.class) public void testApplyFail_onKeyname() { Count count = new Count( "Counters", "k1", "c1", 1 ); Count c2 = new Count( "Coutenrs", "k2", "c1", 1 ); count.apply( c2 ); }
@Test(expected = IllegalArgumentException.class) public void testApplyFail_onColumnname() { Count count = new Count( "Counters", "k1", "c1", 1 ); Count c2 = new Count( "Counters", "k1", "c2", 1 ); count.apply( c2 ); }