nodes: 0, module; 1, function_definition; 2, function_name:process; 3, parameters; 4, block; 5, identifier:self; 6, identifier:versions; 7, expression_statement; 8, for_statement; 9, comment:"""Logging version sorted ascending by tool name."""; 10, identifier:tool_name; 11, call; 12, block; 13, identifier:sorted; 14, argument_list; 15, expression_statement; 16, expression_statement; 17, call; 18, assignment; 19, call; 20, attribute; 21, argument_list; 22, identifier:version; 23, subscript; 24, attribute; 25, argument_list; 26, identifier:versions; 27, identifier:keys; 28, identifier:versions; 29, identifier:tool_name; 30, identifier:self; 31, identifier:_log; 32, binary_operator:"Using tool '%s', %s" % (tool_name, version); 33, string:"Using tool '%s', %s"; 34, tuple; 35, identifier:tool_name; 36, identifier:version
code: def process(self, versions):
          """Logging version sorted ascending by tool name."""
          for tool_name in sorted(versions.keys()):
              version = versions[tool_name]
              self._log("Using tool '%s', %s" % (tool_name, version))