def get_assessment_part(self):
if self._magic_parent_id is None:<EOL><INDENT>assessment_part_id = Id(self.my_osid_object._my_map['<STR_LIT>'])<EOL><DEDENT>else:<EOL><INDENT>assessment_part_id = self._magic_parent_id<EOL><DEDENT>if self._assessment_section is not None:<EOL><INDENT>return self._assessment_section._get_assessment_part(assessment_part_id)<EOL><DEDENT>apls = get_assessment_part_lookup_session(runtime=self.my_osid_object._runtime,<EOL>proxy=self.my_osid_object._proxy,<EOL>section=self._assessment_section)<EOL>apls.use_federated_bank_view()<EOL>apls.use_unsequestered_assessment_part_view()<EOL>return apls.get_assessment_part(assessment_part_id)<EOL>
If there's an AssessmentSection ask it first for the part.

        This will take advantage of the fact that the AssessmentSection may
        have already cached the Part in question.