code: private boolean verify(int n, int m) {
          for (int n_prime : g1[n]) {
              boolean found = false;
              for (int m_prime : g2[m]) {
                  if (matrix.get(n_prime, m_prime) && bondMatcher.matches(bond1.get(n, n_prime), bonds2.get(m, m_prime))) {
                      found = true;
                      break;
                  }
              }
              if (!found) return false;
          }
          return true;
      }
docs: Verify that for every vertex adjacent to n, there should be at least one
  feasible candidate adjacent which can be mapped. If no such candidate
  exists the mapping of n -> m is not longer valid.
  
  @param n query vertex
  @param m target vertex
  @return mapping is still valid