Github user khalidhuseynov commented on the issue: https://github.com/apache/zeppelin/pull/1277 @bzz giving some context 1. this is not about whole `NotebookRepo` api, it's related to only one method [here](https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java#L92) 2. the clients identified correctly (`NotebookServer` and `Notebook`) So the question was that given current api as follows : `get(String noteId, Revision rev, AuthenticationInfo subject)` how can we improve it? as you can see, Revision contains `id` as well as other constructs representing additional information about `Revision`, however in `get` we need only id. further given your feedback from #1254 [here](https://github.com/apache/zeppelin/pull/1254#issuecomment-236475181) : >Also, could you please explain why do you think this API change is valuable and what benefits does it bring for a user? (i.e does it consider other possible versioned storage i.e IPFS, BitTorrent and other future ones, where just an ID might not be enough? or it might be not String) Now, I tried to address that problem here by adding `RevisionId<?>` which is used by clients (`NotebookServer`, `Notebook`) without knowledge of inner representation (placeholder `?`), and only on repo level each `NotebookRepo` deals with his own type of `RevisionId` (say `RevisionId<String>`). The only drawback is usage of `instanceof` here and possible diversion of `RevisionId`s for different repos.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---