public List<Record> search(SearchQuery query) {
		List<Record> relevantRecords = new ArrayList<Record>();

		if (query.isNameSpecified()) {
			
			List<Record> recordsToFilter = new ArrayList<Record>();
			
			List<Record> recordsByName = searchByName(query.getName());

			if (!query.isDateRangeSpecified()) {
				return recordsByName;
			}

			for (Record record : recordsByName) {
				recordsToFilter.add(record);
				
			}
			
			//TODO filter by date range
			for (Record record : recordsToFilter) {
				if (record.hasNamesValidIn(query.getDateRange())) {
					relevantRecords.add(record);
				}
			}
			
		}

		return relevantRecords;
	}