docs: Triangle nextNeighbor(Vector3 p, Triangle prevTriangle) {
  		Triangle neighbor = null;
  
  		if (a.equals(p)) {
  			neighbor =  canext;
  		}
  		if (b.equals(p)) {
  			neighbor = abnext;
  		}
  		if (c.equals(p)) {
  			neighbor = bcnext;
  		}
  		
  		if(prevTriangle == null) {
  			return neighbor;
  		}
  
  		// Udi Schneider: Added a condition check for isHalfPlane. If the current
  		// neighbor is a half plane, we also want to move to the next neighbor	  
  		if (neighbor.equals(prevTriangle) || neighbor.isHalfplane()) {
  			if (a.equals(p)) {
  				neighbor =  abnext;
  			}
  			if (b.equals(p)) {
  				neighbor = bcnext;
  			}
  			if (c.equals(p)) {
  				neighbor = canext;
  			}	  
  		}
  
  		return neighbor;
  	}