code: private <X, T> void onBuildMetaModelSuperClass(Class<? super X> clazz, MetaModelBuilder<X, T> metaModelBuilder)
      {
          if (clazz != null && clazz.isAnnotationPresent(javax.persistence.Entity.class))
          {
              while (clazz != null && clazz.isAnnotationPresent(javax.persistence.Entity.class))
              {
                  metaModelBuilder.process((Class<X>) clazz);
  
                  for (Field f : clazz.getDeclaredFields())
                  {
                      if (f != null && !Modifier.isStatic(f.getModifiers()) && !Modifier.isTransient(f.getModifiers())
                              && !f.isAnnotationPresent(Transient.class))
                      {
                          metaModelBuilder.construct((Class<X>) clazz, f);
                      }
  
                  }
                  clazz = clazz.getSuperclass();
              }
          }
      }
docs: Populate metadata.
  
  @param <X>
  the generic type
  @param <T>
  the generic type
  @param metaModelBuilder
  the metaModelBuilder