_morphOneOrMany(Target, morphName, columnNames, morphValue, type) {
      if (!Array.isArray(columnNames)) {
        // Shift by one place
        morphValue = columnNames;
        columnNames = null;
      }
      if (!morphName || !Target) throw new Error('The polymorphic `name` and `Target` are required.');

      return this._relation(type, Target, {
        morphName: morphName,
        morphValue: morphValue,
        columnNames: columnNames
      }).init(this);
    }
Helper for setting up the `morphOne` or `morphMany` relations.

@method Model#_morphOneOrMany
@private