public LazyTypeParameterDescriptor(
      @NotNull ResolveSession resolveSession,
      @NotNull LazyClassDescriptor containingDeclaration,
      @NotNull JetTypeParameter jetTypeParameter,
      int index) {
    super(
        resolveSession.getStorageManager(),
        containingDeclaration,
        jetTypeParameter.getNameAsSafeName(),
        jetTypeParameter.getVariance(),
        jetTypeParameter.hasModifier(JetTokens.REIFIED_KEYWORD),
        index,
        toSourceElement(jetTypeParameter));
    this.resolveSession = resolveSession;
    this.jetTypeParameter = jetTypeParameter;

    this.resolveSession.getTrace().record(BindingContext.TYPE_PARAMETER, jetTypeParameter, this);
  }