Per the comments above. Could this be the factory method which creates instances of the different target types?