The basic idea use the distance-kernel to build trees.
Analogous question: do the rows in picked from the kernel matrix as pivots have to come from separate categories?