private @NotNull List<? extends @NotNull LocalQuickFix> registerFixes() {
    List<LocalQuickFix> list = QuickFixFactory.getInstance().registerOrderEntryFixes(this, new ArrayList<>());

    String extendClass = ContainerUtil.getFirstItem(getSuperClasses());

    JavaClassReference[] references = getJavaClassReferenceSet().getAllReferences();
    PsiPackage contextPackage = null;
    for (int i = myIndex; i >= 0; i--) {
      PsiElement context = references[i].getContext();
      if (context != null) {
        if (context instanceof PsiPackage) {
          contextPackage = (PsiPackage)context;
        }
        break;
      }
    }

    boolean createJavaClass = !canReferencePackage();
    ClassKind kind = createJavaClass ? getClassKind() : null;
    if (createJavaClass && kind == null) kind = ClassKind.CLASS;
    String templateName = JavaClassReferenceProvider.CLASS_TEMPLATE.getValue(getOptions());
    TextRange range = new TextRange(references[0].getRangeInElement().getStartOffset(),
                                          getRangeInElement().getEndOffset());
    String qualifiedName = range.substring(getElement().getText());
    CreateClassOrPackageFix action = CreateClassOrPackageFix.createFix(qualifiedName, getScope(getJavaContextFile()), getElement(), contextPackage,
                                                                             kind, extendClass, templateName);
    if (action != null) {
      list = ContainerUtil.append(list, action);
    }
    return list;
  }
private @NotNull List<? extends @NotNull LocalQuickFix> registerFixes()