Uses GraphicLegend and different symbol size

The solution didn't handle every possible GraphicSymbol.

And there is an error in the use og request.getWidth()
request.getHeight()