### Question:
IdentityUtils { public static List<Integer> buildAddressN(URI identityUri, int index) { byte[] leIndex = LittleEndianConversions.I2OSP(index); byte[] identityUriBytes = identityUri.toASCIIString().getBytes(Charsets.UTF_8); byte[] canonicalBytes = ByteUtils.concatenate(leIndex, identityUriBytes); byte[] sha256CanonicalBytes = Sha256Hash.hash(canonicalBytes); byte[] truncatedSha256CanonicalBytes = ByteUtils.subArray(sha256CanonicalBytes, 0, 16); int[] abcdBytes = LittleEndianConversions.toIntArray(truncatedSha256CanonicalBytes); return Lists.newArrayList( 13 | ChildNumber.HARDENED_BIT, abcdBytes[0] | ChildNumber.HARDENED_BIT, abcdBytes[1] | ChildNumber.HARDENED_BIT, abcdBytes[2] | ChildNumber.HARDENED_BIT, abcdBytes[3] | ChildNumber.HARDENED_BIT ); }  static List<Integer> buildAddressN(URI identityUri, int index); static ECPublicKey getPublicKeyFromBytes(byte[] pubKey); static String decompressSSHKeyFromNistp256(ECPublicKey publicKey); static String printOpenSSHkeyNistp256(String base64Pubkey, String comment); static boolean isValidSignature(byte[] pubKey, byte[] message, byte[] signature); static final String KEY_PREFIX; static final String CURVE_NAME; }### Answer:
@Test public void testBuildAddressN_IdentityURI() throws Exception { URI identityUri = URI.create("https: List<Integer> addressN = IdentityUtils.buildAddressN(identityUri, 0); assertThat(addressN.size()).isEqualTo(5); assertThat(addressN.get(0) & 0x0fffffff).isEqualTo(13); assertThat(addressN.get(1) & 0x0fffffff).isEqualTo(221831888); assertThat(addressN.get(2) & 0x0fffffff).isEqualTo(160727884); assertThat(addressN.get(3) & 0x0fffffff).isEqualTo(3007475); assertThat(addressN.get(4) & 0x0fffffff).isEqualTo(247399441); }