@Override
  protected Void onUnary(DUnaryPattern p) {
    if (myVisited.add(p)) {
      try {
        return super.onUnary(p);
      } catch (NullPointerException e) {
        return null; // empty element
      }
    }
    return null;
  }
@Override
  protected Void onUnary(DUnaryPattern p)