### Question:
EPTemplateUtil { public static SubnetInfoKeyDecorator buildSubnetInfoKey(@Nonnull final IpPrefix value) { return new SubnetInfoKeyDecorator(new SubnetUtils(value.getIpv4Prefix().getValue()).getInfo()); } private  EPTemplateUtil(); static boolean isPlain(final IpPrefix key); static SubnetInfoKeyDecorator buildSubnetInfoKey(@Nonnull final IpPrefix value); static ListenableFuture<OptionalMutablePair<L, R>> compositeRead(
            final ListenableFuture<Optional<L>> leftRead, final ListenableFuture<Optional<R>> rightRead); static ListenableFuture<Pair<K, V>> wrapToPair(
            final K keyItem,
            final ListenableFuture<Optional<V>> valueFromRead); static ListenableFuture<Optional<V>> wrapToOptional(final ListenableFuture<V> value); static Ordering<EndpointGroupId> createEndpointGroupIdOrdering(); static Ordering<ConditionName> createConditionNameOrdering(); static Ordering<Sgt> createSgtOrdering(); static final String FULL_IPV4_MASK_SUFFIX; }### Answer:
@Test public void testBuildSubnetInfoKey() throws Exception { checkSubnetInfoBuilder(IP_PREFIX_24, "1.2.3.1", "1.2.3.254", 254); checkSubnetInfoBuilder(IP_PREFIX_32, "0.0.0.0", "0.0.0.0", 0); }