class CollapsedRequestSubject implements CollapsedRequest<T, R> {

    @Override
    public void setException(Exception e) {
        if (!isTerminated()) {
            subject.onError(e);
        } else {
            throw new IllegalStateException("Response has already terminated so exception can not be set", e);
        }
    }

    public  CollapsedRequestSubject(final R arg, final RequestBatch<?, T, R> containingBatch);
    public  CollapsedRequestSubject(final R arg);

}