code: @SuppressWarnings("unchecked")
      public static <A extends AggregateRoot<I>, I> Class<I> resolveAggregateIdClass(Class<A> aggregateRootClass) {
          checkNotNull(aggregateRootClass, "aggregateRootClass should not be null");
          return (Class<I>) resolveGenerics(AggregateRoot.class, aggregateRootClass)[0];
      }
docs: Returns the identifier class for an aggregate root class.