void (@NotNull final GrControlFlowOwner owner, @NotNull final ProblemsHolder problemsHolder) { final Instruction[] flow = owner.getControlFlow(); final DFAEngine<Object2IntMap<GrVariable>> engine = new DFAEngine<>( flow, new WritesCounterDFAInstance(), new WritesCounterSemilattice() ); List<Object2IntMap<GrVariable>> dfaResult = engine.performDFAWithTimeout(); if (dfaResult == null || dfaResult.isEmpty() || dfaResult.get(dfaResult.size() - 1) == null) { return; } for (Object2IntMap.Entry<GrVariable> entry : dfaResult.get(dfaResult.size() - 1).object2IntEntrySet()) { if (entry.getIntValue() == 1) { process(owner, entry.getKey(), problemsHolder); } } }