public List<com.github.mule.google.wrapper.CalendarRequest> _findCalendars(CalendarRequest calendarRequest, boolean firstOnly) {
		List<com.github.mule.google.wrapper.CalendarRequest> list = new ArrayList<com.github.mule.google.wrapper.CalendarRequest>(0);
		String pageToken = null;
		do {
			CalendarList calendarList = null;
			try {
				calendarList = client.calendarList().list()
						.setPageToken(pageToken).execute();
			} catch (IOException e) {
			}			
			List<CalendarListEntry> items = calendarList.getItems();
			for (CalendarListEntry calendarListEntry : items) {
				if (!StringUtils.isEmpty(calendarRequest.getId())) {
					if (calendarListEntry.getId().equals(calendarRequest.getId())) {
						list.add(new CalendarRequest(
								calendarListEntry.getId(),
								calendarListEntry.getSummary(),
								calendarListEntry.getDescription()));
					}					
				} else if (Utility.notEmptyEqualStrings(calendarListEntry.getDescription(), calendarRequest.getDescription())) {
					list.add(new CalendarRequest(
							calendarListEntry.getId(),
							calendarListEntry.getSummary(),
							calendarListEntry.getDescription()));
				}
				if (firstOnly && list.size() > 0) {
					return list;
				}
			}
			pageToken = calendarList.getNextPageToken();
		} while (pageToken != null);
		return list;
	}