@Override
  public @NotNull String getPackageName() {
    return withGreenStubOrAst(
      PsiJavaFileStub.class,
      stub -> stub.getPackageName(),
      ast -> {
        String name = myPackageName;
        if (name == null) {
          PsiPackageStatement statement = getPackageStatement();
          myPackageName = name = statement == null ? "" : statement.getPackageName();
        }
        return name;
      }
    );
  }
@Override
  public @NotNull String getPackageName()