JAL-3210 Barebones gradle/buildship/eclipse. See README
[jalview.git] / src / jalview / datamodel / SequenceFeature.java
index 6f51420..7052f34 100755 (executable)
@@ -35,8 +35,6 @@ import java.util.SortedMap;
 import java.util.TreeMap;
 import java.util.Vector;
 
-import intervalstore.api.IntervalI;
-
 /**
  * A class that models a single contiguous feature on a sequence. If flag
  * 'contactFeature' is true, the start and end positions are interpreted instead
@@ -219,20 +217,10 @@ public class SequenceFeature implements FeatureLocationI
   @Override
   public boolean equals(Object o)
   {
-    return (o != null && (o instanceof SequenceFeature)
-            && equalsInterval((SequenceFeature) o));
+    return equals(o, false);
   }
 
   /**
-   * Having determined that this is in fact a SequenceFeature, now check it for
-   * equivalence. Overridden in CrossRef; used by IntervalStore (possibly).
-   */
-  @Override
-  public boolean equalsInterval(IntervalI sf)
-  {
-    return equals((SequenceFeature) sf, false);
-  }
-  /**
    * Overloaded method allows the equality test to optionally ignore the
    * 'Parent' attribute of a feature. This supports avoiding adding many
    * superficially duplicate 'exon' or CDS features to genomic or protein
@@ -242,8 +230,14 @@ public class SequenceFeature implements FeatureLocationI
    * @param ignoreParent
    * @return
    */
-  public boolean equals(SequenceFeature sf, boolean ignoreParent)
+  public boolean equals(Object o, boolean ignoreParent)
   {
+    if (o == null || !(o instanceof SequenceFeature))
+    {
+      return false;
+    }
+
+    SequenceFeature sf = (SequenceFeature) o;
     boolean sameScore = Float.isNaN(score) ? Float.isNaN(sf.score)
             : score == sf.score;
     if (begin != sf.begin || end != sf.end || !sameScore)
@@ -742,8 +736,6 @@ public class SequenceFeature implements FeatureLocationI
   {
     source = theSource;
   }
-
 }
 
 class SFSortByEnd implements Comparator<SequenceFeature>