Refactored #descendants methods.