@Override
    public V getValueForClosestParentAddress(IpPrefix prefix) {

        if (prefix.isIp4()) {
            return getValueForClosestParentAddress(prefix, ipv4Tree);
        }

        if (prefix.isIp6()) {
            return getValueForClosestParentAddress(prefix, ipv6Tree);
        }

        return null;
    }
@Test
    public void testGetValueForClosestParentAddress() {
        assertThat("Failed to fetch a value that closest associated with IPv4 prefix",
                radixTree.getValueForClosestParentAddress(ipv4PrefixKey5), is(3));

        assertThat("Failed to fetch a value that closest associated with IPv4 prefix",
                radixTree.getValueForClosestParentAddress(ipv4PrefixKey6), is(4));

        assertThat("Failed to fetch a value that closest associated with IPv6 prefix",
                radixTree.getValueForClosestParentAddress(ipv6PrefixKey7), is(13));

        assertThat("Failed to fetch a value that closest associated with IPv6 prefix",
                radixTree.getValueForClosestParentAddress(ipv6PrefixKey8), is(14));

        assertThat("Failed to fetch a value that closest associated with IPv6 prefix",
                radixTree.getValueForClosestParentAddress(ipv6PrefixKey9), is(15));

        assertThat("Failed to fetch a value that closest associated with IPv6 prefix",
                radixTree.getValueForClosestParentAddress(ipv6PrefixKey10), is(16));
    }