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