TubePool tp = (TubePool) tubes;
if (tp != null) {
// multi-thread safety of 'close' needs to be considered more carefully.
// some calls might be pending while this method is invoked. Should we
// block until they are complete, or should we abort them (but how?)
Tube p = tp.takeMaster();
p.preDestroy();
tubes = null;
}
if (!managedObjectManagerClosed) {
try {