diff --git a/playground/java/src/org/broadinstitute/sting/utils/CountedObject.java b/playground/java/src/org/broadinstitute/sting/utils/CountedObject.java index 671b5c5a8..d3eb27585 100755 --- a/playground/java/src/org/broadinstitute/sting/utils/CountedObject.java +++ b/playground/java/src/org/broadinstitute/sting/utils/CountedObject.java @@ -20,6 +20,7 @@ public class CountedObject { * @param o object to start counting for */ public CountedObject(T o) { + assert o!=null : "Can not create counted object over null"; mObject = o; mCounter = 1; } @@ -30,6 +31,7 @@ public class CountedObject { * @param n initial count */ public CountedObject(T o, int n) { + assert o!=null : "Can not create counted object over null"; mObject = o; mCounter = n; } @@ -40,11 +42,18 @@ public class CountedObject { public void increment(int n) { mCounter+=n; } public void decrement() { mCounter--; } public void decrement(int n) { mCounter -= n; } + @Override public boolean equals(Object o) { if ( this == o ) return true; - if ( ! ( o instanceof CountedObject )) return false; - return mObject.equals(o); + if ( ! ( o instanceof CountedObject ) ) return false; + if ( ((CountedObject)o).mObject.getClass() != this.mObject.getClass() ) return false; + return mObject.equals(((CountedObject)o).getObject()); + } + + @Override + public int hashCode() { + return mObject.hashCode(); } } diff --git a/playground/java/src/org/broadinstitute/sting/utils/CountedObjectComparatorAdapter.java b/playground/java/src/org/broadinstitute/sting/utils/CountedObjectComparatorAdapter.java index affc8fd1a..80120f083 100755 --- a/playground/java/src/org/broadinstitute/sting/utils/CountedObjectComparatorAdapter.java +++ b/playground/java/src/org/broadinstitute/sting/utils/CountedObjectComparatorAdapter.java @@ -11,10 +11,10 @@ package org.broadinstitute.sting.utils; */ public class CountedObjectComparatorAdapter implements java.util.Comparator> { - private java.util.Comparator mComp; + private java.util.Comparator mComp; /** Initializes comparator adapter with a comparator for objects of trype T */ - public CountedObjectComparatorAdapter(java.util.Comparator adaptee) { + public CountedObjectComparatorAdapter(java.util.Comparator adaptee) { mComp = adaptee; }