code: public <T> T topic(Class<T> entity) {
      EntityMetadata.EntityDescriptor descriptor = metadata.of(entity);
  
      @SuppressWarnings({"unchecked", "UnnecessaryLocalVariable"}) // Cast is guaranteed by enhancer.
      T proxy = (T) Enhancer.create(entity, new Class[] { TopicProxy.HasCalledFields.class },
          new TopicProxy(descriptor));
      return proxy;
    }
docs: Creates a topic that can be used in an EntityQuery (see {@link #from} for details.