We've implemented ARI protocol in Java quite successfully so far, but now I think we're missing something.

How will remote Data Adapter know if client requested a snapshot if there's no isSnapshotAvailable() method call from LS kernel? Should I just send a snapshot on first subscribe() call, no matter if client requested it or not? Also, should I just start sending isSnapshot = false updates if my Data Adapter actually doesn't support snapshots for the specified item? If so, what is the purpose of isSnapshotAvailable() method on DataProvider interface anyway (non ARI implementation)?