1 package net.sf.josceleton.commons.collection; 2 3 import java.util.Arrays; 4 import java.util.LinkedHashSet; 5 6 public class SafeLinkedHashSet<E> extends LinkedHashSet<E> { 7 8 private static final long serialVersionUID = -4952366764007772589L; 9 10 @Override public final boolean remove(final Object entity) { 11 final boolean wasRemoved = super.remove(entity); 12 if(wasRemoved == true) { 13 return true; 14 } 15 16 throw new RuntimeException("Could not remove " + entity + " from list: " + 17 Arrays.toString(this.toArray())); 18 } 19 20 @Override public final boolean add(final E entity) { 21 final boolean wasAdded = super.add(entity); 22 if(wasAdded == true) { 23 return true; 24 } 25 26 throw new RuntimeException("Already added " + entity + " to list: " + 27 Arrays.toString(this.toArray())); 28 } 29 30 }