### Question:
Derive extends Counter { @Override public ValueType<UnsignedLong> delta(Number value) { return new Derive(getValue().minus(toUnsignedLong(value))); } Derive(UnsignedLong value); @Override ValueType<UnsignedLong> delta(Number value); @Override MetricType getType();  }### Answer:
@Test public void test() { Derive n1 = new Derive(UnsignedLong.valueOf(5L)); Derive n2 = new Derive(UnsignedLong.valueOf(10L)); assertThat(n2.delta(n1).longValue(), is(equalTo(5L))); }