@Override
 public boolean equals(Object other) {
   if (!(other instanceof OutPoint)) {
     return false;
   }
   return hash.equals(((OutPoint) other).hash) && index == ((OutPoint) other).index;
 }
 @Override
 public int hashCode() {
   return hash.hashCode() + index;
 }