code: @SuppressWarnings("unchecked")
      public B setTargetType(Class<?> type) {
          Objects.requireNonNull(type);
          set(AbstractQuery.KEY_QUERY_TARGET_TYPE, type);
          return (B) this;
      }
docs: Sets the target implementation type required. This can be used to explicitly acquire a specific
  implementation
  type and use a query to configure the instance or factory to be returned.
  
  @param type the target implementation type, not null.
  @return this query builder for chaining.