Factored out apache commons 3