public static BitcoinURI of(String uri) throws BitcoinURIParseException {
        // TODO: Discover (via Service Loader mechanism) the correct Network from the URI string
        return new BitcoinURI(uri, null);
    }
@Test(expected = BitcoinURIParseException.class)
    public void testBad_AmountTooPrecise() throws BitcoinURIParseException {
        BitcoinURI.of(BITCOIN_SCHEME + ":" + MAINNET_GOOD_ADDRESS
                + "?amount=0.123456789", MAINNET);
    }