```isStateValid()``` should call ```isStateColliding()``` if needed. It won't call the collision checker if the state is invalid for other reasons. Are you sure this is not working? Look at planning_scene.cpp 1925.