This is a really important class. Ideally the doc for this class would say something higher level about what this is and how it is used. The optional stuff can come after that. Some things to cover

- This is an immutable class covering configurations for a Spark Application
- It is created based on a typesafe config object (and you can point them to the docs explaining precedence etc)

Then you can explain the semantics of optional configs.