best practice: throw new UnsupportedOperationException() is iterator does not support remove