@override HalfEdge? getEdge(int i ) { HalfEdge? edge = this.edge; while ( i > 0 ) { edge = edge?.next; i --; } while ( i < 0 ) { edge = edge?.prev; i ++; } return edge; }