A type checker because java doesn't have one, as far as I can tell