public static LockTime of(long rawValue) {
        if (rawValue < 0)
            throw new IllegalArgumentException("illegal negative lock time: " + rawValue);
        return rawValue < LockTime.THRESHOLD
                ? new HeightLock(rawValue)
                : new TimeLock(rawValue);
    }
@Test(expected = IllegalArgumentException.class)
    @Parameters(method = "invalidValueVectors")
    public void invalidValues(long value) {
        LockTime lockTime = LockTime.of(value);
    }