This might benefit from a brief line or two about possible exceptions, mostly the "Save object first" exception.