public Container pack(List<BoxItem> boxes, long deadline) {
		return pack(boxes, filterByVolumeAndWeight(toBoxes(boxes, false), Arrays.asList(containers), 1), deadLinePredicate(deadline));
	}
public Container pack ( List < BoxItem > boxes , long deadline ) { return pack ( boxes , filterByVolumeAndWeight ( toBoxes ( boxes , false ) , Arrays . asList ( containers ) , 1 ) , deadLinePredicate ( deadline ) ) ; }
Return a container which holds all the boxes in the argument

@param boxes    list of boxes to fit in a container
@param deadline the system time in millis at which the search should be aborted
@return index of container if match, -1 if not