// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.jetbrains.plugins.groovy.lang.resolve.processors;

import com.intellij.psi.scope.PsiScopeProcessor;
import org.jetbrains.annotations.NotNull;

import static java.util.Collections.singletonList;
import static org.jetbrains.annotations.ApiStatus.Experimental;

@Experimental
public interface MultiProcessor extends PsiScopeProcessor {

  @NotNull
  Iterable<? extends PsiScopeProcessor> getProcessors();

  @NotNull
  static Iterable<? extends PsiScopeProcessor> allProcessors(@NotNull PsiScopeProcessor processor) {
    return processor instanceof MultiProcessor ? ((MultiProcessor)processor).getProcessors()
                                               : singletonList(processor);
  }
}

@@ -246,16 +246,60 @@
 cessor;%0A
+import org.jetbrains.annotations.ApiStatus;%0A
 import o
@@ -388,84 +388,26 @@
 st;%0A
-import static org.jetbrains.annotations.ApiStatus.Experimental;%0A%0A@Experiment
+%0A@ApiStatus.Intern
 al%0Ap

make MultiProcessor @Internal