import org.checkerframework.checker.tainting.qual.Untainted; import java.util.ArrayList; import java.util.List; class DropLocality { public static void test(@Untainted String s1, @Untainted String s2, @Untainted List clean) { ArrayList strings1 = new ArrayList<>(); strings1.add(s1); sink(strings1.get(0)); ArrayList strings2 = new ArrayList<>(); strings2.add(s1); doSomething(strings2); sink(strings2.get(strings2.size() - 1)); //warn List strings3 = clean; doSomething(strings3); sink(strings3.get(0)); //warn } private static void doSomething(List s2) { s2.add("1"); } public static void sink(@Untainted String string) { } }