@NotNull
  public static <T extends MergeRequest> T register(@NotNull T request, @Nullable MergeCallback callback) {
    LOG.assertTrue(request.getUserData(KEY) == null);
    if (callback != null) request.putUserData(KEY, callback);
    return request;
  }
@NotNull
  public static <T extends MergeRequest> T register(@NotNull T request, @Nullable MergeCallback callback)