Logging
Move inside the condition and fix the condition; fixes error on new start.
Only call completedInit() ONCE
Logging
BaseFileBucket.onResume() must be called, or we get "Size of downloaded data has changed"; it's okay not to return early in this error case.
Logging
Check whether serialized-in request is obviously broken
Add Serializable to SSKs and keys used in them - should fix SSK fetches.
onResume() can throw ResumeFailedException.
onResume() can throw ResumeFailedException.
Catch RuntimeException's in case of severe serialization issues.
Don't register with the FCPPersistentRoot until the rest of onResume() has completed successfully; break innerResume() out so we run even the per-class stuff first.
If serialization fails, go back over the file(s) with it turned off, just restoring from scratch. Hence most delayed errors from serialization will now be automatically recovered from.
Explain.
Serialization.
Make fields protected.
Fix serialization. We need the parent fields, and can't restore them in no-args constructors, even though some of these classes aren't persistent.