@Override
    public boolean equals(Object o) {
        if(o instanceof VariableReference) {
            VariableReference v = (VariableReference)o;
            return this.getInnerValue().equals(v.getInnerValue())
                && this.getVariable().equals(v.getVariable());
        }
        return false;
    }