avoid duplicate Observer.convert()