@Override
  public Boolean visit(final ArrayAccessExpr n1, final Node arg) {
    final ArrayAccessExpr n2 = (ArrayAccessExpr) arg;

    if (!nodeEquals(n1.getName(), n2.getName())) {
      return Boolean.FALSE;
    }

    if (!nodeEquals(n1.getIndex(), n2.getIndex())) {
      return Boolean.FALSE;
    }

    return Boolean.TRUE;
  }
 public void visit(ArrayAccessExpr n, Object arg) {
   n.getName().accept(this, arg);
   n.getIndex().accept(this, arg);
 }