@vpisarev Vadim, can you comment this data "duplication"? I'm not sure that it is a normal transparent way.
For complex algorithms it will make code overcomplicated (this code patch contains bugs, where `trainDescCollection` container is used, but any checks for `utrainDescCollection` are missed).