protected synchronized boolean reduceMemoryWithDelegates(boolean aggressively) {
        int reductionPolicy = aggressively ? MemoryManagerDelegate.REDUCE_AGGRESSIVELY
                : MemoryManagerDelegate.REDUCE_SOMEWHAT;
        boolean anyReduced = false;
        for (MemoryManagerDelegate mmd : delegates) {
            if (mmd == null)
                continue;
            boolean reduced = mmd.reduceMemory(reductionPolicy);
            anyReduced |= reduced;
        }
        return anyReduced;
    }