code: def parse_methodcall(self, tup_tree):
          
  
          self.check_node(tup_tree, 'METHODCALL', ('NAME',), (),
                          ('LOCALCLASSPATH', 'LOCALINSTANCEPATH', 'PARAMVALUE'))
  
          path = self.list_of_matching(tup_tree,
                                       ('LOCALCLASSPATH', 'LOCALINSTANCEPATH'))
          if not path:
              raise CIMXMLParseError(
                  _format("Element {0!A} missing a required child element "
                          "'LOCALCLASSPATH' or 'LOCALINSTANCEPATH'",
                          name(tup_tree)),
                  conn_id=self.conn_id)
          if len(path) > 1:
              raise CIMXMLParseError(
                  _format("Element {0!A} has too many child elements {1!A} "
                          "(allowed is one of 'LOCALCLASSPATH' or "
                          "'LOCALINSTANCEPATH')", name(tup_tree), path),
                  conn_id=self.conn_id)
          path = path[0]
          params = self.list_of_matching(tup_tree, ('PARAMVALUE',))
          return (name(tup_tree), attrs(tup_tree), path, params)
docs: ::
  
              <!ELEMENT METHODCALL ((LOCALCLASSPATH | LOCALINSTANCEPATH),
                                    PARAMVALUE*)>
              <!ATTLIST METHODCALL
                  %CIMName;>