ML eye for the Java guy. This is what I do on weekends. https://www.cs.cornell.edu/courses/cs312/2005sp/lectures/lec17.asp