BUG-509: clean up comment

This cleans up a comment why subtracting 1 from nesting is safe. It also
adds a Preconditions.checkState() to explicitly guard on the
expectation.

Change-Id: Ia0b755d723d399b99fec98398afabba1222b97b3
Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-509: explain the use of SuppressWarnings

This adds an explanation why we opted to suppress warnings instead of
doing the type-safe thing.

Also speeds up string building very slightly by compacting two append()
calls and using append(char) instead append(String).

Change-Id: Ifed1005bb118de101476063790b5c8aee73888bb
Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-509: limit visibility of updateModificationType()

Limits updateModificationType() to private. Also add GuardedBy
annotations to explain that seal and this method require
synchronization.

Change-Id: Iff49e15c890bac38cb5ff19c347551dcee5bb4b8
Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-509: improve safety of MutableDataTree

This limits field visibility and improves seal operation with respect to
other operations. Also make sure to check for multiple seals.

Change-Id: I2c91e59e3308010f8c95a3fb3898bace97b2db97
Signed-off-by: Robert Varga <rovarga@cisco.com>