public boolean put(T item, String itemId, int maxWait, TimeUnit unit) throws Exception
    {
        Preconditions.checkArgument(isValidId(itemId), "Invalid id: " + itemId);

        queue.checkState();

        return queue.internalPut(item, null, makeIdPath(itemId), maxWait, unit);
    }
public boolean put ( T item , String itemId , int maxWait , TimeUnit unit ) throws Exception { Preconditions . checkArgument ( isValidId ( itemId ) , "Invalid id: " + itemId ) ; queue . checkState ( ) ; return queue . internalPut ( item , null , makeIdPath ( itemId ) , maxWait , unit ) ; }
Same as {@link #put(Object, String)} but allows a maximum wait time if an upper bound was set
via {@link QueueBuilder#maxItems}.

@param item item
@param itemId item Id
@param maxWait maximum wait
@param unit wait unit
@return true if items was added, false if timed out
@throws Exception