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 }