@Override
    public boolean equals(Object obj) {
        if (!(obj instanceof Node)) {
            return false;
        } else {
            Node node = (Node) obj;
            return (this.start == node.start &&
                    this.end == node.end &&
                    _.same(this.file, node.file));
        }
    }