private Halfedge getHash(int b) {
        Halfedge halfEdge;

        if (b < 0 || b >= _hashsize) {
            return null;
        }
        halfEdge = _hash.get(b);
        if (halfEdge != null && halfEdge.edge == Edge.DELETED) {
            /* Hash table points to deleted halfedge.  Patch as necessary. */
            _hash.set(b, null);
            // still can't dispose halfEdge yet!
            return null;
        } else {
            return halfEdge;
        }
    }