Why does a valueChangeListener cause a commandButton to be clicked twice?