resolveAllOfSchema = (context, schema, stack = 0, resolveFor = CONVERSION, seenRef = {}, currentPath = '') => {
    try {
      return mergeAllOf(_.assign(schema, {
        allOf: _.map(schema.allOf, (schema) => {
          // eslint-disable-next-line no-use-before-define
          return _resolveSchema(context, schema, stack, resolveFor, _.cloneDeep(seenRef), currentPath);
        })
      }), {
        // below option is required to make sure schemas with additionalProperties set to false are resolved correctly
        ignoreAdditionalProperties: true,
        resolvers: {
          // for keywords in OpenAPI schema that are not standard defined JSON schema keywords, use default resolver
          defaultResolver: (compacted) => { return compacted[0]; },
          enum: (values) => {
            return _.uniq(_.concat(...values));
          }
        }
      });
    }
    catch (e) {
      console.warn('Error while resolving allOf schema: ', e);
      return { value: '<Error: Could not resolve allOf schema' };
    }
  }
Handle resolution of allOf property of schema

@param {Object} context - Global context object
@param {Object} schema - Schema to be resolved
@param {Number} [stack] - Current recursion depth
@param {*} resolveFor - resolve refs for flow validation/conversion (value to be one of VALIDATION/CONVERSION)
@param {Object} seenRef - Map of all the references that have been resolved
@param {String} currentPath - Current path (json-pointer) being resolved relative to original schema

@returns {Object} Resolved schema