### Question:
KerberosIdentityDescriptor extends AbstractKerberosDescriptor { public boolean shouldInclude(Map<String, Object> context) { return (this.when == null) || this.when.evaluate(context); } KerberosIdentityDescriptor(String name, String reference, KerberosPrincipalDescriptor principal, KerberosKeytabDescriptor keytab, Predicate when);  KerberosIdentityDescriptor(Map<?, ?> data); String getReference(); String getReferenceAbsolutePath(); void setReference(String reference); KerberosPrincipalDescriptor getPrincipalDescriptor(); void setPrincipalDescriptor(KerberosPrincipalDescriptor principal); KerberosKeytabDescriptor getKeytabDescriptor(); void setKeytabDescriptor(KerberosKeytabDescriptor keytab); Predicate getWhen(); void setWhen(Predicate when); boolean shouldInclude(Map<String, Object> context); void update(KerberosIdentityDescriptor updates); @Override Map<String, Object> toMap(); Optional<String> getReferencedServiceName(); boolean isShared(KerberosIdentityDescriptor that); boolean isReference(); @Override String getPath(); @Override int hashCode(); @Override boolean equals(Object object); List<KerberosIdentityDescriptor> findReferences();  }### Answer:
@Test public void testShouldInclude() { KerberosIdentityDescriptor identityDescriptor = createFromJSON(); Map<String, Object> context = new TreeMap<>(); context.put("services", new HashSet<>(Arrays.asList("HIVE", "HDFS", "ZOOKEEPER"))); Assert.assertTrue(identityDescriptor.shouldInclude(context)); context.put("services", new HashSet<>(Arrays.asList("NOT_HIVE", "HDFS", "ZOOKEEPER"))); Assert.assertFalse(identityDescriptor.shouldInclude(context)); }