code: public <T> NonBlockingClient unsubscribe(String topicPattern, int ttl, CompletionListener<T> listener, T context)
      throws UnsubscribedException, StoppedException, IllegalArgumentException {
          return unsubscribe(topicPattern, null, ttl, listener, context);
      }
docs: Unsubscribes from a destination.  This is equivalent to calling:
  <code>unsubscribe(topicPattern, null, ttl)</code>
  @param topicPattern a topic pattern that identifies the destination to unsubscribe from.  This must match
  one of the topic patterns previously subscribed to using the
  {@link NonBlockingClient#subscribe(String, SubscribeOptions, DestinationListener, CompletionListener, Object)}
  method.
  @param ttl the new time-to-live value to assign to the destination.  Currently the only supported value for this
  parameter is zero.
  @param listener a listener that is notified when the unsubscribe operation has completed.  Invocation of this
  listener is deferred until any messages, buffered pending delivery to a <code>DestiantionListener</code>
  registered with the client, have been delivered.  If a value of <code>null</code> is supplied for this
  parameter then no notification will be generated.
  @param context a context object that is passed into the listener.  This can be used within the listener code to
  identify the specific instance of the stop method relating to the listener invocation.
  @param <T> the type of the context, used to propagate an arbitrary object between method calls on an
  instance of this object, and the various listeners that are used to provide notification
  of client related events.
  @return the instance of <code>NonBlockingClient</code> that the unsubscribe method was invoked upon.  This is to
  allow invocations of the unsubscribe method to be chained.
  @throws UnsubscribedException if an attempt is made to unsubscribe from a destination that the client is not
  currently subscribed to.
  @throws StoppedException if the client is in stopped or stopping state when this method is invoked.
  @throws IllegalArgumentException if an invalid value is specified for one of the arguments.
  @see NonBlockingClient#unsubscribe(String, String, int, CompletionListener, Object)