added apache commons lang to validate not null arguments