@Test public void testLeakedManagedReference() { underTest.referenceLeaked(result, stack); verify(caller).referenceLeaked(result, stack); }
@Override public void referenceLeaked(final Object reference, final StackTraceElement[] stack) { execute(() -> caller.referenceLeaked(reference, stack)); }
RecursionSafeCaller implements Caller { @Override public void referenceLeaked(final Object reference, final StackTraceElement[] stack) { execute(() -> caller.referenceLeaked(reference, stack)); } }
RecursionSafeCaller implements Caller { @Override public void referenceLeaked(final Object reference, final StackTraceElement[] stack) { execute(() -> caller.referenceLeaked(reference, stack)); } RecursionSafeCaller(
      ExecutorService executorService, Caller caller, long maxRecursionDepth
  );  RecursionSafeCaller(ExecutorService executorService, Caller caller); }
RecursionSafeCaller implements Caller { @Override public void referenceLeaked(final Object reference, final StackTraceElement[] stack) { execute(() -> caller.referenceLeaked(reference, stack)); } RecursionSafeCaller(
      ExecutorService executorService, Caller caller, long maxRecursionDepth
  );  RecursionSafeCaller(ExecutorService executorService, Caller caller); @Override void referenceLeaked(final Object reference, final StackTraceElement[] stack); @Override void execute(final Runnable runnable); }
RecursionSafeCaller implements Caller { @Override public void referenceLeaked(final Object reference, final StackTraceElement[] stack) { execute(() -> caller.referenceLeaked(reference, stack)); } RecursionSafeCaller(
      ExecutorService executorService, Caller caller, long maxRecursionDepth
  );  RecursionSafeCaller(ExecutorService executorService, Caller caller); @Override void referenceLeaked(final Object reference, final StackTraceElement[] stack); @Override void execute(final Runnable runnable);  }