This method is really long. Perhaps refactor/break it up into a couple of helper methods (for example, the text color would be one good candidate, amongst other things).