@Override
    public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;

      PrivateEdgeLabel that = (PrivateEdgeLabel) o;

      if (index != that.index) return false;
      if (!classId.equals(that.classId)) return false;

      return true;
    }
 @Override
 public int hashCode() {
   int result = classId.hashCode();
   result = 31 * result + (int) index;
   return result;
 }