boolean (final T t) { final boolean merged = t instanceof MergedObject; if ((!merged || myProcessMerged) && !myProcessor.process(t)) { return false; } if (merged && !ContainerUtil.process(((MergedObject<T>)t).getImplementations(), this)) { return false; } return true; }