Loader should not be exposed as a public class, but it needs to be public for ServiceLoader. How about moving it and FileSystemDatasetRepository's URIBuilder to com.cloudera.cdk.data.filesystem.impl so it doesn't show up in Javadoc?