/*
 * Copyright 2000-2011 JetBrains s.r.o.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.intellij.ide.diff;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.concurrency.Promise;

/**
 * @author lene
 */
public interface AsyncDiffElement {

  @NotNull
  Promise<DiffElement> copyToAsync(@NotNull DiffElement container,
                                   @Nullable DiffElement target,
                                   @NotNull String relativePath);

  @NotNull
  Promise<Void> deleteAsync();
}

/*
 * Copyright 2000-2011 JetBrains s.r.o.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.intellij.ide.diff;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.concurrency.Promise;

public interface AsyncDiffElement {

  @NotNull
  Promise<DiffElement<?>> copyToAsync(@NotNull DiffElement<?> container,
                                      @Nullable DiffElement<?> target,
                                      @NotNull String relativePath);

  @NotNull
  Promise<Void> deleteAsync();
}

--- 
+++ 
@@ -19,12 +19,15 @@
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.concurrency.Promise;
 
+/**
+ * @author lene
+ */
 public interface AsyncDiffElement {
 
   @NotNull
-  Promise<DiffElement<?>> copyToAsync(@NotNull DiffElement<?> container,
-                                      @Nullable DiffElement<?> target,
-                                      @NotNull String relativePath);
+  Promise<DiffElement> copyToAsync(@NotNull DiffElement container,
+                                   @Nullable DiffElement target,
+                                   @NotNull String relativePath);
 
   @NotNull
   Promise<Void> deleteAsync();
Revert "Forcing generics on DiffElements" IDEA-CR-54193 WI-27162

This reverts commit cbf3b57c

GitOrigin-RevId: 8162c394fb08d374a0054844e26aee00c58c7dd1