Actually I think check params is caller's responsibility, otherwise methods would be redundancy。