replaced ArrayList with CopyOnWriteArrayList to avoid concurrent

modification.