_removeAlias(raw = {}) {
    const options = _.cloneDeep(raw);
    const allPathAndAlias = [];

    const traverse = (obj, objpath = '') => {
      if (obj.type === 'object') {
        _.keys(obj.properties).forEach((key) => {
          traverse(obj.properties[key], objpath === '' ? key
            : `${objpath}.${key}`);
        });
        return;
      }

      if (obj.alias) {
        allPathAndAlias.push({
          alias: obj.alias,
          path: objpath,
        });
      }
    };
    traverse({ type: 'object', properties: this[BUILTIN_CONFIG] });

    allPathAndAlias
      .filter((pair) => raw[pair.alias] !== undefined)
      .forEach((pair) => {
        const value = raw[pair.alias];
        delete options[pair.alias];
        _.set(options, pair.path, value);
      });

    return options;
  }
replace alias with their real name
@param raw
@returns {*}