3 ms·Source code is here: http://snippets.dzone.com/posts/show/4920 http://snippets.dzone.com/posts/show/4920by nickb 19y agoSource code is here: http://snippets.dzone.com/posts/show/4920 http://snippets.dzone.com/posts/show/4920