### Question:
Modifier implements VariableModifier<T> { @Override public T modify(T variable) { return modifier.modify(variable); } @SuppressWarnings("unchecked")  Modifier(@JsonProperty("oid") final String oid,
                    @JsonProperty("class") final String modifierClass,
                    @JsonProperty("properties") final ModifierProperties properties); boolean isApplicable(final OID oid); @Override T modify(T variable);  }### Answer:
@Test @SuppressWarnings("unchecked") public void testModify() { final ModifierProperties modifierProperties = new ModifierProperties(); modifierProperties.put("minimum", 0L); modifierProperties.put("maximum", 3000L); modifierProperties.put("minimumStep", 1L); modifierProperties.put("maximumStep", 10L); final Modifier modifier = new Modifier(".1.3.6.*", "com.oneandone.snmpman.configuration.modifier.Counter32Modifier", modifierProperties); final Counter32 counter32 = new Counter32(0L); assertEquals(counter32.getValue(), 0L); final Variable modifiedVariable = modifier.modify(counter32); assertTrue(modifiedVariable instanceof Counter32); assertNotEquals(((Counter32) modifiedVariable).getValue(), 0L); }