@@ -0,0 +1,1274 @@
+package com.intellij.xdebugger;%0A%0Aimport com.intellij.openapi.util.AsyncResult;%0Aimport com.intellij.util.Consumer;%0Aimport com.intellij.util.PairConsumer;%0Aimport org.jetbrains.annotations.NotNull;%0A%0Apublic final class ObsolescentAsyncResults %7B%0A  @NotNull%0A  public static %3CT%3E AsyncResult%3CT%3E consume(@NotNull final AsyncResult%3CT%3E result,%0A                                           @NotNull final Obsolescent obsolescent,%0A                                           @NotNull final Consumer%3CT%3E consumer) %7B%0A    result.doWhenDone(new Runnable() %7B%0A      @Override%0A      public void run() %7B%0A        if (!obsolescent.isObsolete()) %7B%0A          consumer.consume(result.getResult());%0A        %7D%0A      %7D%0A    %7D);%0A    return result;%0A  %7D%0A%0A  @NotNull%0A  public static %3CO extends Obsolescent, T%3E AsyncResult%3CT%3E consume(@NotNull final AsyncResult%3CT%3E result,%0A                                                                  @NotNull final O obsolescent,%0A                                                                  @NotNull final PairConsumer%3CT, O%3E consumer) %7B%0A    result.doWhenDone(new Runnable() %7B%0A      @Override%0A      public void run() %7B%0A        if (!obsolescent.isObsolete()) %7B%0A          consumer.consume(result.getResult(), obsolescent);%0A        %7D%0A      %7D%0A    %7D);%0A    return result;%0A  %7D%0A%7D

move ObsolescentAsyncResults to xdebugger