code: def _get_chain_parent_symbol(self, symbol, fullsymbol):
          
          #We are only interested in the type of the variable immediately preceding our symbol
          #in the chain so we can list its members.
          chain = fullsymbol.split("%")
  
          #We assume that if symbol != fullsymbol, we have at least a % at the end that 
          #tricked the symbol regex.
          if len(chain) < 2:
              return ([], None)
          previous = chain[-2].lower()
  
          #Now we need to use the name of the variable to find the actual type name
          target_name = ""
          if previous in self.element.members:
              target_name = self.element.members[previous].kind
          #The contextual element could be a module, in which case it has no parameters
          if hasattr(self.element, "parameters") and previous in self.element.parameters:
              target_name = self.element.parameters[previous].kind
  
          if target_name == "":
              return (None, None)
  
          return self.context.parser.tree_find(target_name, self.context.module, "types")
docs: Gets the code element object for the parent of the specified
          symbol in the fullsymbol chain.