Bank of America says buy these stocks that generate lots of cash