if (segRoot == null) {
throw new IllegalArgumentException("Invalid persistor: the Segment field is missing");
}
synchronized (getDataLock()) {
super.restoreFrom(p);
segment = new SegmentPersistor().restoreFrom(segRoot);
// In some versions the Segment got the name of the TextDocument. This does not work -
// the segment name for a SimpleTextStructure must be empty - so we blank it out.
// Doing this may break some mappings, but on the other hand those Transformations
// would not have worked anyway, because of the unexpected Segment name, so this
// does not make the situation worse. (At least that's what Frank tells me.)