It's not obvious from looking at the methods how this should be used. Could do with some more javadoc, or perhaps just a comment saying about it being `@Beta`. Unless you think the interface is stable?