Java k-means implementation with an emphasis on OOP.