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}