@Override
  public @NotNull Iterable<PsiProvidesStatement> getProvides() {
    PsiJavaModuleStub stub = getGreenStub();
    if (stub != null) {
      return JBIterable.of(stub.getChildrenByType(JavaElementType.PROVIDES_STATEMENT, PsiProvidesStatement.EMPTY_ARRAY));
    }
    else {
      return psiTraverser().children(this).filter(PsiProvidesStatement.class);
    }
  }
@Override
  public @NotNull Iterable<PsiProvidesStatement> getProvides()