@Override
   public boolean equals(Object obj) {
      if (this == obj) return true;
      if (obj == null) return false;
      if (getClass() != obj.getClass()) return false;
      SampleHierarchy other = (SampleHierarchy) obj;
      if (sampleId == null) {
         if (other.sampleId != null) return false;
      } else if (!sampleId.equals(other.sampleId)) return false;
      if (parentId == null) {
         if (other.parentId != null) return false;
      } else if (!parentId.equals(other.parentId)) return false;
      return true;
   }