code: def find_section(self, charindex):
          
          #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
docs: Returns a value indicating whether the specified character index
          is owned by the current object.