@Override
  public boolean remove(Object obj) {
    /*
     * if( this.limit > -1) { throw new UnsupportedOperationException("Removal from the
     * SelectResults not allowed as the query result is constrained by LIMIT"); }
     */
    if (hasLimitIterator) {
      Iterator itr = iterator();
      boolean removed = false;
      Object element;
      while (itr.hasNext()) {
        element = itr.next();
        if ((obj == null && element == null) || (obj.equals(element))) {
          itr.remove();
          removed = true;
          break;
        }
      }
      return removed;
    } else {
      return base.remove(obj);
    }
  }
no-arg constructor required for DataSerializable
geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsCollectionWrapper.java