+ @Override
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ super.readExternal(in);
+ path = SerializationUtils.deserializePath(in);
+ }
+
+ @Override
+ public void writeExternal(ObjectOutput out) throws IOException {
+ super.writeExternal(out);
+ SerializationUtils.serializePath(path, out);
+ }
+
+ public AbstractRead<T> asVersion(short version) {
+ return version == getVersion() ? this : newInstance(version);
+ }
+
+ public abstract FluentFuture<T> apply(DOMStoreReadTransaction readDelegate);