def find_section(self, charindex):
        """Returns a value indicating whether the specified character index
        is owned by the current object."""
        #All objects instances of decorable also inherit from CodeElement,
        #so we should have no problem accessing the start and end attributes.
        result = None
        if hasattr(self, "start") and hasattr(self, "end"):
            #The 8 seems arbitrary, but it is the length of type::b\n for a
            #really short type declaration with one character name.
            if charindex > self.docend and charindex - self.start < 8:
                result = "signature"
            elif charindex >= self.start and charindex <= self.end:
                result = "body"

        if (result is None and charindex >= self.docstart 
            and charindex <= self.docend):
            result = "docstring"
            
        return result
Returns a value indicating whether the specified character index
        is owned by the current object.