code: public boolean offer(T t, Object identifier) {
          checkNotNullArgument(t);
          if (isPublisherThread()) {
              boolean changed = false;
              if (identifier != null) {
                  final Long id = subscriberIdentifiers.get(identifier);
                  checkNotNullIdentifier(id);
                  changed = queues.get(id).offer(t);
              } else {
                  for (Queue<T> queue : queues.values()) {
                      if (queue.offer(t)) {
                          changed = true;
                      }
                  }
              }
              return changed;
          }
          return getCurrentThreadQueue().offer(t);
      }
docs: Offers an object to the queue, targeting only the subscriber identified by the provided identifier object, unless said object is null. The offered object will only be visible to the subscriber
  (if added).
  
  @param t The offered object
  @param identifier The identifier object, can be null
  @return True if this queue changed as a result of the call
  @see #offer(Object)