An implementation of Hidden Markov Models in Java