Why warning?
Also why do you not propagate reason to the user?