// waste time doing discovery on a stale UP SERVER, which can be time consuming. Since most resources are
// SERVICEs, and also are typically UP and stay UP, performing checks in these two situations should
// not add much overhead. Finally, make sure to use facet proxy to do the avail check, this allows us to use
// a timeout, and therefore not hang discovery if the avail check is slow.
Availability currentAvailability = parentContainer.getAvailability();
AvailabilityType currentAvailabilityType = (null == currentAvailability) ? AvailabilityType.DOWN
: currentAvailability.getAvailabilityType();
// If there is no current avail, or this is a SERVER, we must perform the live check.
if (AvailabilityType.UP != currentAvailabilityType
|| ResourceCategory.SERVER == parentContainer.getResource().getResourceType().getCategory()) {