@Override
  public void reduce() {
    final List<JsonSchemaObject> oneOf = new SmartList<>();
    for (Operation op : myChildOperations) {
      if (!op.myState.equals(SchemaResolveState.normal)) continue;
      oneOf.addAll(andGroup(mySourceNode, op.myAnyOfGroup));
      oneOf.addAll(andGroup(mySourceNode, mergeOneOf(op)));
    }
    // here it is not a mistake - all children of this node come to oneOf group
    myOneOfGroup.add(oneOf);
  }
@Override
  public void reduce()