### Question:
TableProcessor extends AbstractEntityFieldProcessor { @Override public void process(Class clazz, EntityMetadata metadata) { if (LOG.isDebugEnabled()) LOG.debug("Processing @Entity(" + clazz.getName() + ") for Persistence Object."); populateMetadata(metadata, clazz, puProperties); } TableProcessor(Map puProperty, KunderaMetadata kunderaMetadata); @Override void process(Class clazz, EntityMetadata metadata);  }### Answer:
@Test public void testProcessInheritedClass() throws InstantiationException, IllegalAccessException { final String persistenceUnit = "rdbms"; EntityMetadata metadata; PersistenceUnitMetadata puMetadata = new PersistenceUnitMetadata(); puMetadata.setPersistenceUnitName(persistenceUnit); Map<String, Object> props = new HashMap<String, Object>(); props.put(Constants.PERSISTENCE_UNIT_NAME, persistenceUnit); props.put(PersistenceProperties.KUNDERA_NODES, "localhost"); props.put(PersistenceProperties.KUNDERA_PORT, "9160"); props.put(PersistenceProperties.KUNDERA_KEYSPACE, "KunderaHbaseExamples"); props.put(PersistenceProperties.KUNDERA_CLIENT_FACTORY, "com.impetus.client.CoreTestClientFactory"); Properties p = new Properties(); p.putAll(props); puMetadata.setProperties(p); TableProcessor t1 = new TableProcessor(p, kunderaMetadata); metadata = new EntityMetadata(Rectangle.class); metadata.setPersistenceUnit(persistenceUnit); t1.process(Rectangle.class, metadata); Assert.assertNotNull(metadata.getIdAttribute()); metadata = new EntityMetadata(Circle.class); metadata.setPersistenceUnit(persistenceUnit); t1.process(Circle.class, metadata); Assert.assertNotNull(metadata.getIdAttribute()); metadata = new EntityMetadata(Shape.class); metadata.setPersistenceUnit(persistenceUnit); t1.process(Shape.class, metadata); Assert.assertNotNull(metadata.getIdAttribute()); }