support java.util.ArrayList