public final void writeExternals(final PathAwareObjectOutput out) {
		if (this.parent != null) {
			int parentId;
			try {
				parentId = out.getId(this.parent);
			} catch (final InterruptedException e) {
				return;
			}
			if (this.parent == null) {
				out.registerId(null, this.filename);
			} else if (parentId == -1) {
				this.parent.writeExternals(out);
			}
		}
		out.registerId(this.parent, this.filename);
	}