The primary question here is "what will happen if you do/don't"?
As others have pointed out, this kind of defensive programming is good, but it's also occasionally dangerous.
For example, if you supply a default value, then you're keeping the program up. But the program may now not be doing what you want it to do. For example, if it writes that blank array to a file, you may now have turned your bug from "crashes because I supplied null by accident" to "clears out the calendar rows because I supplied null by accident". (for example if you start removing stuff that doesn't appear in the list in that part that reads " //blah")
The key for me is Never corrupt data. Let me repeat thatthat; NEVER. CORRUPT. DATA. If your program exceptions out, you get a bug report you can patch; if it writes bad data to a file that it will later, you have to sow the ground with salt.
All your "unnecessary" decisions should be made with that premise in mind.