Basically my renderservice will gather the objects that need to be drawn and then draw their sprite. Damn this is a long topic for a really simple and basic answer
By looking at your class diagram (which looks quite good to me), i wonder why don't you store your vector of game related objects into the "LevelState" class, then your "RenderService" class will access this vector by reference, iterating over each element, and getting the sprite to be drawn from it ?
This operation that consists of copying the sprites stored in your game related objects seems over complicated to me. I strongly advise that you forget about it.
Linking what i say to your former code from the previous post, i think you should store "DisplayObject" class instances (or ptr/smart ptr to them) into a vector, and not "Sprite", then iterate over this vector of "DisplayObject" and finally get the sprite from it when you call "RenderWindow::draw".