001package de.monochromata.anaphors.ast.unify;
002
003import java.util.ArrayList;
004import java.util.List;
005
006import de.monochromata.anaphors.ast.DirectAnaphora;
007
008public interface DirectAnaphoraPrecedesIndirectAnaphora {
009
010        static <A> List<A> preferDirectOverIndirectAnaphora(final List<A> potentialAnaphoraRelations) {
011                final List<A> directAnaphoraRelations = new ArrayList<>();
012                for (final A anaphora : potentialAnaphoraRelations) {
013                        if (anaphora instanceof DirectAnaphora) {
014                                directAnaphoraRelations.add(anaphora);
015                        }
016                }
017                return directAnaphoraRelations.isEmpty() ? potentialAnaphoraRelations : directAnaphoraRelations;
018        }
019
020}