package test; import org.jetbrains.annotations.*; import java.util.ArrayList; public interface LoadIterableWithPropagation { public interface LoadIterable { public @Mutable Iterable getIterable(); public void setIterable(@Mutable Iterable Iterable); public @ReadOnly Iterable getReadOnlyIterable(); public void setReadOnlyIterable(@ReadOnly Iterable Iterable); } public class LoadIterableImpl implements LoadIterable { public Iterable getIterable() {return new ArrayList();} public void setIterable(Iterable Iterable) {} public Iterable getReadOnlyIterable() {return new ArrayList();} public void setReadOnlyIterable(Iterable Iterable) {} } }