Почему метод назвали createOrUpdateUser, если он только апдейтит юзера? Он не создаст нового, если в листе юзеров нет юзера с совпадающим id.