This is the infamous CopyCat, ported to Java originally by Scott Bolland.