loadAsyncOptions lacks a null checking of input variable in the first line. If the value of a Select is null by default, loadAsyncOptions fails immediately.
I think having null values bound to an input controller is not a bad practice at all, and the method should have a null check in the first line.