Is it possible to detect the situation when the caller is `DataAccessObject.findOrCreate` behaviour? If it is, then we should add a check and return descriptive error in the callback.

A possible detection algorithm:
 1. Call `loopback.getModel(modelName)`. Return an error if model is not found.
 2. Check that `modelId` has the same type as the id property of the model returned in step 1 (as defined by LDL).