def filter_items(self, items, navigation_type=None):
if self.current_app_is_admin():<EOL><INDENT>return items<EOL><DEDENT>items_filtered = []<EOL>context = self.current_page_context<EOL>check_access = self.check_access<EOL>for item in items:<EOL><INDENT>if item.hidden:<EOL><INDENT>continue<EOL><DEDENT>if not check_access(item, context):<EOL><INDENT>continue<EOL><DEDENT>if not getattr(item, '<STR_LIT>' % navigation_type, True):  <EOL><INDENT>continue<EOL><DEDENT>items_filtered.append(item)<EOL><DEDENT>return items_filtered<EOL>
Filters sitetree item's children if hidden and by navigation type.

        NB: We do not apply any filters to sitetree in admin app.

        :param list items:
        :param str|unicode navigation_type: sitetree, breadcrumbs, menu
        :rtype: list