- I don't see why it wouldn't be "safe", since extension is a fundamental aspect of Java, and I presume it's not marked "final" so it may be extended. Even if Document changes later, the derived class should still work as well as Document itself would. For an extreme example, if Lotus changed Document.save() to Document.commit(), your derived class would fail. But so would anything that uses Document directly, so nothing is "lost" by derivation.
Hope this helps...