code: public Map<String, Type> constructorGenericsMap() {
          return constructorGenerics.isEmpty()
                  ? Collections.<String, Type>emptyMap() : new LinkedHashMap<String, Type>(constructorGenerics);
      }
docs: <pre>{@code class A<E>{
  <T, K extends E> A(T arg1, K arg2);
  }
  class B extends A<Serializable> {}
  }</pre>
  <pre>{@code context.constructor(A.class.getConstructor(Object.class, Object.class)).constructorGenericsMap() ==
  ["T": Object.class, "K": Serializable.class]}</pre>
  For constructor generics it's impossible to know actual type (available only in time of constructor call),
  so generics resolved as upper bound.
  
  @return map of current constructor generics (runtime mapping of generic name to actual type)