In a recent paper, Kim and Lumetta  proposed a capacity efficient protection scheme that provides fast recovery in WDM mesh networks. They introduced the notion of a stream that is utilized for this purpose. In this paper, we introduce the concept of gStream, which is a more generalized form of stream and develop efficient algorithms for maximizing capacity utilization without sacrificing the benefit of fast recovery. We show that the problem of finding the set of gStreams that maximizes capacity utilization is NP-complete. We present (i) an optimal solution for formation of streams and gStreams and (ii) a heuristic solution. The results of our experimental evaluation show that our heuristic provides near optimal solution to almost all instances of the problem in a fraction of the time needed for finding the optimal solution.