Some CDI interfaces have a dispose method, but a number of others don't (and
should). E.g., ICDIVariable does, but ICDIStackFrame doesn't. This interface
was created to introduce a dispose capability to CDI objects that call for it
without breaking existing interfaces.
CDT uses instanceof to check whether a CDI object supports this interface and
if so calls the dispose method when it has no further need for the object. This
does not apply to all CDI object; just ones for which it makes sense. The list
is subject to grow: