public synchronized void removeElement(T element) {
		List<T> origList = ref.get().list;
		boolean isPresent = origList.contains(element);
		if (!isPresent) {
			return;
		}
		
		List<T> newList = new ArrayList<T>(origList);
		newList.remove(element);
		
		swapWithList(newList);
	}
public synchronized void removeElement ( T element ) { List < T > origList = ref . get ( ) . list ; boolean isPresent = origList . contains ( element ) ; if ( ! isPresent ) { return ; } List < T > newList = new ArrayList < T > ( origList ) ; newList . remove ( element ) ; swapWithList ( newList ) ; }
Remove an element from this list. This causes the inner list to be swapped out
@param element