aeron-client/src/main/java/io/aeron/Aeron.java
public Subscription addSubscription(
        final String channel,
        final int streamId,
        final AvailableImageHandler availableImageHandler,
        final UnavailableImageHandler unavailableImageHandler)
    {
        return conductor.addSubscription(channel, streamId, availableImageHandler, unavailableImageHandler);
    }
public Subscription addSubscription(
        final String channel,
        final int streamId,
        final AvailableImageHandler availableImageHandler,
        final UnavailableImageHandler unavailableImageHandler)
    {
        return conductor.addSubscription(channel, streamId, availableImageHandler, unavailableImageHandler);
    }
Add a new {@link Subscription} for subscribing to messages from publishers.
<p>
This method will override the default handlers from the {@link Aeron.Context}, i.e.
{@link Aeron.Context#availableImageHandler(AvailableImageHandler)} and
{@link Aeron.Context#unavailableImageHandler(UnavailableImageHandler)}. Null values are valid and will
result in no action being taken.

@param channel                 for receiving the messages known to the media layer.
@param streamId                within the channel scope.
@param availableImageHandler   called when {@link Image}s become available for consumption. Null is valid if no
action is to be taken.
@param unavailableImageHandler called when {@link Image}s go unavailable for consumption. Null is valid if no
action is to be taken.
@return the {@link Subscription} for the channel and streamId pair.