// Path: amr2Fred/src/amr2fred/Glossary.java
// public static final int ENDLESS = 1000;
// 
// Path: amr2Fred/src/amr2fred/Glossary.java
// public static final String RECURSIVE_ERROR = " recursive error! ";
// 
// Path: amr2Fred/src/amr2fred/Glossary.java
// public enum NodeStatus {
//     OK, AMR, ERROR, REMOVE
// }
// 
// Path: amr2Fred/src/amr2fred/Glossary.java
// public enum NodeType {
//     NOUN, VERB, OTHER, AMR2FRED, FRED, COMMON
// }
// 
// Path: amr2Fred/src/amr2fred/Glossary.java
// public static final String AMR_INVERSE = ":+.+-of";


import static amr2fred.Glossary.ENDLESS;
import static amr2fred.Glossary.RECURSIVE_ERROR;
import amr2fred.Glossary.NodeStatus;
import static amr2fred.Glossary.NodeStatus.AMR;
import amr2fred.Glossary.NodeType;
import static amr2fred.Glossary.NodeType.OTHER;
import java.util.ArrayList;
import java.util.Objects;
import static amr2fred.Glossary.AMR_INVERSE;
import static amr2fred.Glossary.NodeStatus.REMOVE;
    private NodeType type;

    //memorizza identificativo univoco del nodo
    private int nodeId;

    //memorizza la var originale nel caso sia un verbo, per l'uso con la predmatrix
    private String verb;

    public Node(String var, String relation) {
        this.var = var;
        this.relation = relation;
        this.list = new ArrayList<>();
        this.status = AMR;
        this.type = OTHER;
        this.nodeId = id;
        Node.id += 1;
    }

    public Node(String var, String relation, NodeStatus status) {
        this.relation = relation;
        this.var = var;
        this.status = status;
        this.list = new ArrayList<>();
        this.type = OTHER;
        this.nodeId = id;
        Node.id += 1;
    }

    @Override
    public String toString() {
// Path: amr2Fred/src/amr2fred/Glossary.java
// public static final int ENDLESS = 1000;
// 
// Path: amr2Fred/src/amr2fred/Glossary.java
// public static final String RECURSIVE_ERROR = " recursive error! ";
// 
// Path: amr2Fred/src/amr2fred/Glossary.java
// public enum NodeStatus {
//     OK, AMR, ERROR, REMOVE
// }
// 
// Path: amr2Fred/src/amr2fred/Glossary.java
// public enum NodeType {
//     NOUN, VERB, OTHER, AMR2FRED, FRED, COMMON
// }
// 
// Path: amr2Fred/src/amr2fred/Glossary.java
// public static final String AMR_INVERSE = ":+.+-of";


// Path: amr2Fred/src/amr2fred/Node.java
import static amr2fred.Glossary.ENDLESS;
import static amr2fred.Glossary.RECURSIVE_ERROR;
import amr2fred.Glossary.NodeStatus;
import static amr2fred.Glossary.NodeStatus.AMR;
import amr2fred.Glossary.NodeType;
import static amr2fred.Glossary.NodeType.OTHER;
import java.util.ArrayList;
import java.util.Objects;
import static amr2fred.Glossary.AMR_INVERSE;
import static amr2fred.Glossary.NodeStatus.REMOVE;

    private NodeType type;

    //memorizza identificativo univoco del nodo
    private int nodeId;

    //memorizza la var originale nel caso sia un verbo, per l'uso con la predmatrix
    private String verb;

    public Node(String var, String relation) {
        this.var = var;
        this.relation = relation;
        this.list = new ArrayList<>();
        this.status = AMR;
        this.type = OTHER;
        this.nodeId = id;
        Node.id += 1;
    }

    public Node(String var, String relation, NodeStatus status) {
        this.relation = relation;
        this.var = var;
        this.status = status;
        this.list = new ArrayList<>();
        this.type = OTHER;
        this.nodeId = id;
        Node.id += 1;
    }

    @Override
    public String toString() {
        if (Parser.endless > ENDLESS) {