I am working on a java process which is conceptually rather simple. It is a single thread constantly fetching data from various sources and making decisions based on these.