<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def __parts_and_divisions(self):
 """ The parts and divisions directly part of this element. """


        from .division import Division
        from .part import Part
        from .placeholder_part import PlaceholderPart

        text = self.node.text
        if text:
            stripped_text = text.replace('\n', '')
            if stripped_text.strip():
                yield PlaceholderPart(stripped_text)

        for item in self.node:
            if item.tag == 'part':
                yield Part(item)
            elif item.tag == 'div':
                yield Division(item)
            
            if item.tail:
                stripped_tail = item.tail.replace('\n', '')
                if stripped_tail.strip():
                    yield PlaceholderPart(stripped_tail)