code: @Override
      public Set<ManagedType<?>> getManagedTypes()
      {
          Set<ManagedType<?>> managedTypeCollection = new HashSet<ManagedType<?>>();
          if (entityTypes != null)
          {
              managedTypeCollection.addAll(entityTypes.values());
          }
          if (embeddables != null)
          {
              managedTypeCollection.addAll((Collection<? extends ManagedType<?>>) embeddables.values());
          }
          if (mappedSuperClassTypes != null)
          {
              managedTypeCollection.addAll((Collection<? extends ManagedType<?>>) mappedSuperClassTypes.values());
          }
          return managedTypeCollection;
      }
docs: /*
  (non-Javadoc)
  
  @see javax.persistence.metamodel.Metamodel#getManagedTypes()