} else {
} else if (gcColor != GC_YELLOW) {
    public final boolean visit(Object object) {        final int gcColor = helper.getObjectColor(object);        if (gcColor == GC_WHITE) {            final boolean finalized = helper.isFinalized(object);            if (finalized) {                // Already finalized, we can free it now                currentHeap.free(object);            } else {                final VmClassType vmClass = VmMagic.getObjectType(object);                if (!vmClass.hasFinalizer()) {                    // No finalizer, we can free it now                    currentHeap.free(object);                } else {                    // Mark object for invoke of finalizer on other thread.                    helper.atomicChangeObjectColor(object, gcColor, GC_YELLOW);                }            }        } else {            helper.atomicChangeObjectColor(object, gcColor, GC_WHITE);        }        return true;    }