/** Method collectReplacementNodeChangesTypeToInfo */
  private void collectReplacementNodeChangesTypeToInfo() {
    replacementNodeChangesTypeTo = new int[n_graph_actions][max_n_replacement_nodes];

    // init the array with -1
    for (int i = 0; i < n_graph_actions; i++)
      for (int j = 0; j < max_n_replacement_nodes; j++) replacementNodeChangesTypeTo[i][j] = -1;

    // for all nodes preserved set the corresponding array entry to the
    // appropriate node type id
    for (Rule action : actionRuleMap.keySet()) {
      int act_id = actionRuleMap.get(action).intValue();

      if (action.getRight() != null) {
        for (Node node : action.getRight().getNodes()) {
          if (!node.changesType(action.getRight())) continue;

          int node_num = replacement_node_num.get(act_id).get(node).intValue();

          NodeType old_type = node.getNodeType();
          NodeType new_type = node.getRetypedNode(action.getRight()).getNodeType();

          if (!nodeTypeMap.get(old_type).equals(nodeTypeMap.get(new_type)))
            replacementNodeChangesTypeTo[act_id][node_num] = nodeTypeMap.get(new_type).intValue();
        }
      }
    }
  }