Replace the class that inherits from ArrayList<A>with the interface and the class containing the list:
interface ListA extends List<A> {
}
class ListAImpl implements ListA {
private List<A> content;
public ListAImpl(List<A> content) {
this.content = content;
}
}
ListA , : "" ArrayList<A>, ListA, , ListA.
, ListA , :
ListA a = new ListAImpl(new ArrayList<A>());
ListA sync = new ListAImpl(Collections.synchronizedList(a));