Github user miguelaferreira commented on the pull request: https://github.com/apache/cloudstack/pull/1056#issuecomment-155702506 @DaanHoogland both Optional and Exception will give the opportunity to handle the "null case", the difference is in the semantics. Optional means that you expect to either have or not have a value. Exception means that no value is an error state/case. So you should use one or the other depending on what does it mean semantically to not have a value. Newbies or otherwise will understand this. Regarding your point about different solutions in different places, I would say that it argues for stagnation. You present two options: either apply a better solution to all places, or keep replication the current solution. I propose a different approach. And approach that will introduce a better solution incrementally, one (or a few) places at a time. I don't see any problem with this, since we actually keep history everyone can see that one change happened in 2010 and the other in 2015. Then people can ask about it, or better yet we can tell them upfront. We just have to be willing to do the best we can at all times.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---