void ( @NotNull DeclarationDescriptor descriptor, @NotNull ModuleDescriptor module, @NotNull MemberScope memberScope, @NotNull Collection<? extends DeclarationDescriptor> extraSubDescriptors, @NotNull Printer printer ) { if (!isFromModule(descriptor, module)) return; List<DeclarationDescriptor> subDescriptors = Lists.newArrayList(); subDescriptors.addAll(DescriptorUtils.getAllDescriptors(memberScope)); subDescriptors.addAll(extraSubDescriptors); subDescriptors.sort(MemberComparator.INSTANCE); for (DeclarationDescriptor subDescriptor : subDescriptors) { if (!shouldSkip(subDescriptor)) { appendDeclarationRecursively(subDescriptor, module, printer, false); } } }