Gets the code element object for the parent of the specified
        symbol in the fullsymbol chain.

def _get_chain_parent_symbol(self, symbol, fullsymbol):
        """Gets the code element object for the parent of the specified
        symbol in the fullsymbol chain."""
        #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")