@Override
  public PsiMethod @NotNull [] createImplementationPrototypes(PsiClass inClass,
                                                              PsiMethod method) throws IncorrectOperationException {
    final PsiLanguageInjectionHost injectionHost = InjectedLanguageManager.getInstance(inClass.getProject()).getInjectionHost(inClass);
    if (!(injectionHost instanceof PsiSnippetDocTag)) {
      return PsiMethod.EMPTY_ARRAY;
    }

    final PsiClass containingClass = method.getContainingClass();
    if (containingClass == null) {
      return PsiMethod.EMPTY_ARRAY;
    }

    final PsiSubstitutor substitutor = inClass.isInheritor(containingClass, true)
                                       ? TypeConversionUtil.getSuperClassSubstitutor(containingClass, inClass, PsiSubstitutor.EMPTY)
                                       : PsiSubstitutor.EMPTY;
    final PsiMethod result = GenerateMembersUtil.substituteGenericMethod(method, substitutor, inClass);

    return new PsiMethod[]{result};
  }
@Override
  public PsiMethod @NotNull [] createImplementationPrototypes(PsiClass inClass,
                                                              PsiMethod method)