code: public final IntResultListener asIntResultListener ()
      {
          return new IntResultListener() {
              public void requestCompleted (int result) {
                  // call the invocation method and it will do the unsafe cast for us.
                  Resulting.this.requestProcessed((Object)result);
              }
              public void requestFailed (Exception cause) {
                  Resulting.this.requestFailed(cause);
              }
          };
      }
docs: Construct your {@code Resulting<Integer>}, overriding what you need to, then call this to
  adapt it.