public <T extends SharedResource> T add(T t) {
        try {
            resources.add(References.fromResource(t));
        } catch (IllegalStateException e) {
            // Ignore. TODO(bakksjo): Don't rely on ISE to detect duplicates; handle that in this class instead.
        }
        return t;
    }
<p>Adds the given {@link SharedResource} to this ResourcePool. Note that this DOES NOT call {@link
SharedResource#refer()}, as opposed to {@link #retain(SharedResource)}. When this ResourcePool is
destroyed, it will release the main reference to the resource (by calling {@link SharedResource#release()}).</p>

@param t   The SharedResource to add.
@param <T> The class of parameter <code>t</code>.
@return The parameter <code>t</code>, to allow inlined calls to this function.
jdisc_core/src/main/java/com/yahoo/jdisc/application/ResourcePool.java