TabletLocator already exists, but isn't officially a part of the "public API" and is clunky for users to invoke. In trying to co-locate external processes with the tabletservers that are hosting some data, it would be nice to have some means that users can invoke that will return them these assignments.
Memory concerns are an issue for tables with many splits (e.g. avoiding creating a Set of 100k tablet locations for a table), but we also want to provide the ability to ask pointed questions. Likely building something that accepts a Range (or Collection<Range>) would be best.