docs: private static void collapseConj(Collection<TypedDependency> list) {
      List<TreeGraphNode> govs = new ArrayList<TreeGraphNode>();
      // find typed deps of form cc(gov, dep)
      for (TypedDependency td : list) {
        if (td.reln() == COORDINATION) { // i.e. "cc"
          TreeGraphNode gov = td.gov();
          GrammaticalRelation conj = conjValue(td.dep().value());
          if (DEBUG) {
            System.err.println("Set conj to " + conj + " based on " + td);
          }
  
          // find other deps of that gov having reln "conj"
          boolean foundOne = false;
          for (TypedDependency td1 : list) {
            if (td1.gov() == gov) {
              if (td1.reln() == CONJUNCT) { // i.e., "conj"
                // change "conj" to the actual (lexical) conjunction
                if (DEBUG) {
                  System.err.println("Changing " + td1 + " to have relation " + conj);
                }
                td1.setReln(conj);
                foundOne = true;
              } else if (td1.reln() == COORDINATION) {
                conj = conjValue(td1.dep().value());
                if (DEBUG) {
                  System.err.println("Set conj to " + conj + " based on " + td1);
                }
              }
            }
          }
  
          // register to remove cc from this governor
          if (foundOne) {
            govs.add(gov);
          }
        }
      }
  
      // now remove typed dependencies with reln "cc" if we have successfully
      // collapsed
      for (Iterator<TypedDependency> iter = list.iterator(); iter.hasNext();) {
        TypedDependency td2 = iter.next();
        if (td2.reln() == COORDINATION && govs.contains(td2.gov())) {
          iter.remove();
        }
      }
    }