so, populateTable is executed twice. set a breakpoint there and see a stack trace (or post screenshots of both here ;-) )
btw, creating an odata model is pretty heavy opertion as it includes donwloading and parsing metadata so i would not do it in a "business" methods rather in init/onInit of components/controllers