code: private void boundaryAreaInteriorLine_(int half_edge, int id_a, int id_b,
  			int cluster_index_b) {
  		if (m_matrix[MatrixPredicate.BoundaryInterior] == 1)
  			return;
  
  		int parentage = m_topo_graph.getHalfEdgeParentage(half_edge);
  
  		if ((parentage & id_a) != 0 && (parentage & id_b) != 0) {
  			m_matrix[MatrixPredicate.BoundaryInterior] = 1;
  			return;
  		}
  
  		if (m_matrix[MatrixPredicate.BoundaryInterior] != 0) {
  			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) {
  					int index = m_topo_graph.getClusterUserIndex(cluster,
  							cluster_index_b);
  
  					if ((clusterParentage & id_b) != 0 && (index % 2 == 0)) {
  						assert (index != -1);
  						m_matrix[MatrixPredicate.BoundaryInterior] = 0;
  					}
  				}
  			}
  		}
  	}
docs: with the interior of Line B.