bitcoinj refactor