code: def _convert_old_schema(self, parameters):
          
          # 'merged' here is an associative list that maps parameter names to
          # Parameter instances, OR sub-associative lists which represent nested
          # lists and structures.
          # e.g.,
          #    [Integer("foo")]
          # becomes
          #    [("foo", Integer("foo"))]
          # and
          #    [Integer("foo.bar")]
          # (which represents a list of integers called "foo" with a meaningless
          # index name of "bar") becomes
          #     [("foo", [("bar", Integer("foo.bar"))])].
          merged = []
          for parameter in parameters:
              segments = parameter.name.split('.')
              _merge_associative_list(merged, segments, parameter)
          result = [self._inner_convert_old_schema(node, 1) for node in merged]
          return result
docs: Convert an ugly old schema, using dotted names, to the hot new schema,
          using List and Structure.
  
          The old schema assumes that every other dot implies an array. So a list
          of two parameters,
  
              [Integer("foo.bar.baz.quux"), Integer("foo.bar.shimmy")]
  
          becomes::
  
              [List(
                  "foo",
                  item=Structure(
                      fields={"baz": List(item=Integer()),
                              "shimmy": Integer()}))]
  
          By design, the old schema syntax ignored the names "bar" and "quux".