private static List<Bottle> sortBottlesByHand(List<Bottle> bottles) {
		List<Bottle> sortedBottles = new ArrayList<Bottle>(bottles.size());
		List<Bottle> bottlesToSort = new ArrayList<Bottle>(bottles);

		while (bottlesToSort.size() > 0) {
			// find smallest bottle in bootlesToSort
			int smallest = 0;
			Bottle smallestBottle = bottlesToSort.get(0);
			for (int i = 0; i < bottlesToSort.size(); i++) {
				Bottle currentBottle = bottlesToSort.get(i);
				int smallestVolume = smallestBottle.getVolume();
				int currentVolume = currentBottle.getVolume();
				if (currentVolume < smallestVolume ||
						(currentVolume == smallestVolume && currentBottle.getFilled() < smallestBottle.getFilled())) {
					smallestBottle = currentBottle;
					smallest = i;
				}
			}

			// remove smallest from bottles to sort and and to sorted list
			bottlesToSort.remove(smallest);
			sortedBottles.add(smallestBottle);
		}

		return sortedBottles;
	}