public Bandwidth subtract(Bandwidth value) {
        if (value instanceof LongBandwidth) {
            return Bandwidth.bps(this.bps - ((LongBandwidth) value).bps);
        }
        return Bandwidth.bps(this.bps - value.bps());
    }
@Test
    public void testSubtract() {
        final long sub = billion - one;
        Bandwidth expected = Bandwidth.kbps(sub);

        assertThat(big.subtract(small), is(expected));

        final double notLongSubtract = 999.0;
        Bandwidth notLongExpected = Bandwidth.kbps(notLongSubtract);

        assertThat(notLongBig.subtract(notLongSmall), is(notLongExpected));
    }