code: private void interiorLineBoundaryLine_(int half_edge, int id_a, int id_b,
  			int cluster_index_a, int cluster_index_b, int predicate) {
  		if (m_matrix[predicate] == 0)
  			return;
  
  		if (m_topo_graph.getHalfEdgeUserIndex(m_topo_graph
  				.getHalfEdgePrev(m_topo_graph.getHalfEdgeTwin(half_edge)),
  				m_visited_index) != 1) {
  			int cluster = m_topo_graph.getHalfEdgeTo(half_edge);
  			int clusterParentage = m_topo_graph.getClusterParentage(cluster);
  
  			if ((clusterParentage & id_a) != 0
  					&& (clusterParentage & id_b) != 0) {
  				int index_a = m_topo_graph.getClusterUserIndex(cluster,
  						cluster_index_a);
  				int index_b = m_topo_graph.getClusterUserIndex(cluster,
  						cluster_index_b);
  				assert (index_a != -1);
  				assert (index_b != -1);
  
  				if ((index_a % 2 == 0) && (index_b % 2 != 0)) {
  					assert ((m_topo_graph.getClusterParentage(cluster) & id_a) != 0 && (m_topo_graph
  							.getClusterParentage(cluster) & id_b) != 0);
  					m_matrix[predicate] = 0;
  				}
  			}
  		}
  	}
docs: with the boundary of Line B.