code: def add_report_definition_hash_order(node, name = :root)
        def_order = REPORT_DEFINITION_ORDER[name]
        var_order = def_order.reject { |field| !node.include?(field) }
        node.keys.each do |key|
          if REPORT_DEFINITION_ORDER.include?(key)
            case node[key]
              when Hash
                add_report_definition_hash_order(node[key], key)
              when Array
                node[key].each do |item|
                  add_report_definition_hash_order(item, key)
                end
            end
          end
        end
        node[:order!] = var_order
        return nil
      end
docs: Adds fields order hint to generator based on specification.