code: @Override
      public <X> ManagedType<X> managedType(Class<X> paramClass)
      {
          ManagedType managedType = entityTypes.get(paramClass);
          if (managedType == null)
          {
              managedType = embeddables.get(paramClass);
              if (managedType == null)
              {
                  managedType = mappedSuperClassTypes.get(paramClass);
              }
          }
  
          if (managedType == null)
          {
              throw new IllegalArgumentException("Not a managed type, {class: " + paramClass + "}");
          }
          return managedType;
      }
docs: /*
  (non-Javadoc)
  
  @see javax.persistence.metamodel.Metamodel#managedType(java.lang.Class)