class DefaultHardwareClock implements HardwareClock {

    public DiscreteInterval getNanoTime() {
        long granularity = getGranularity();
        long err = granularity / 2;
        if (granularity % 2 == 1) err += 1;
        long now = env.nanoTime() + getOffset();
        return new DiscreteInterval(now - err, now + err);
    }

    public  DefaultHardwareClock();
    public  DefaultHardwareClock(Env env);
    public  DefaultHardwareClock(Env env, int numSamples, long periodMillis);

}