/* Get all book copies with specified search filter. */
    const std::vector<BookCopy*> Library::getBookCopies (
			const int& filter, const long long& isbn) const
	{
        std::vector<BookCopy*> bookCopies;

		/* Get book copies, filtered by borrowing status. */
		if ((filter & Constants::BOOKCOPY_FILTERS[
					Constants::BOOKCOPY_FILTER_CURRENTLY_BORROWED]) 
				|| (filter & Constants::BOOKCOPY_FILTERS[
					Constants::BOOKCOPY_FILTER_OVERDUE]))
		{
			for (std::map<BookCopy*, Borrower*>::const_iterator iterator = 
					borrows.begin(); iterator != borrows.end(); iterator++)
			{
				if (filter & Constants::BOOKCOPY_FILTERS[
						Constants::BOOKCOPY_FILTER_CURRENTLY_BORROWED] 
						|| (iterator->first)->isOverdue())
				{
					bookCopies.push_back(iterator->first);
				}
			}
		}
		else if (filter & Constants::BOOKCOPY_FILTERS[
				Constants::BOOKCOPY_FILTER_ISBN])
		{
			/* Get book copies, filtered by ISBN. */

			/* Get book by ISBN. */
			Book* book = getBook(isbn);

			/* Get copies of that book. */
			bookCopies = book->getAllCopies();
		}

		/* Return filtered book copies list. */
		return bookCopies;
    }