private boolean isHasCycle(Course course, String filterText) {

    if (course.getCycles() == null || course.getCycles().size() == 0) {
      return false;
    } else {
      for (Cycle cycle : course.getCycles()) {
        if (isTextIncludeInCycle(cycle, filterText)) {
          return true;
        }
      }
    }

    return false;
  }
 private void filter(String filterText) {
   if (filterText == null) {
     mFilteredCourseList = new ArrayList<>(mSubscriptionsList);
   } else if (filterText.equals("*")) {
     mFilteredCourseList = new ArrayList<>(mSubscriptionsList);
   } else {
     mFilterText = filterText.toLowerCase();
     mFilteredCourseList = new ArrayList<>();
     for (Course item : mSubscriptionsList) {
       if (item.getName().toLowerCase().contains(mFilterText)
           || item.getDescription().toLowerCase().contains(mFilterText)
           || item.getSyllabus().toLowerCase().contains(mFilterText)
           || isHasCycle(item, mFilterText)) {
         mFilteredCourseList.add(item);
       }
     }
   }
   showResults(filterText, mFilteredCourseList, false);
 }