@Test
  public void testAttributesC() {
    IBindableDescriptor descriptor = BindableDescriptorUtils.getDescriptor(C.class);
    Map<String, AttributeInfo> attributesByKey = descriptor.getAttributesByKey();

    // static attributes
    assertTrue(attributesByKey.containsKey("a"));
    assertTrue(attributesByKey.containsKey("c"));

    // 'd' is a nested bindable, its attributes are collected dynamically at runtime.
    assertFalse(attributesByKey.containsKey("d"));
  }
 @Test
 public void testKeyInKeyCheck() {
   IBindableDescriptor descriptor = BindableDescriptorUtils.getDescriptor(KeyCheck.class);
   Map<String, AttributeInfo> attributesByKey = descriptor.getAttributesByKey();
   assertTrue(attributesByKey.containsKey(AttributeUtils.getKey(KeyCheck.class, "field")));
 }