merged AbstractGenerator into WebResourceGenerator