code: public Result<Void> delete(TRANS trans, DATA data, boolean reread) {
  		if(deletePS==null) {
  			Result.err(Result.ERR_NotImplemented,"Delete is disabled for %s",getClass().getSimpleName());
  		}
  		// Since Deleting will be stored off, for possible re-constitution, need the whole thing
  		if(reread) {
  			Result<List<DATA>> rd = read(trans,data);
  			if(rd.notOK()) {
  				return Result.err(rd);
  			}
  			if(rd.isEmpty()) {
  				return Result.err(Status.ERR_NotFound,"Not Found");
  			}
  			for(DATA d : rd.value) { 
  				if(async) {
  					Result<ResultSetFuture> rs = deletePS.execAsync(trans, D_TEXT, d);
  					if(rs.notOK()) {
  						return Result.err(rs);
  					}
  				} else {
  					Result<ResultSet> rs = deletePS.exec(trans, D_TEXT, d);
  					if(rs.notOK()) {
  						return Result.err(rs);
  					}
  				}
  				wasModified(trans, CRUD.delete, d);
  			}
  		} else {
  			if(async)/* ResultSet rs =*/ {
  				Result<ResultSetFuture> rs = deletePS.execAsync(trans, D_TEXT, data);
  				if(rs.notOK()) {
  					return Result.err(rs);
  				}
  			} else {
  				Result<ResultSet> rs = deletePS.exec(trans, D_TEXT, data);
  				if(rs.notOK()) {
  					return Result.err(rs);
  				}
  			}
  			wasModified(trans, CRUD.delete, data);
  		}
  		return Result.ok();
  	}
docs: This method Sig for Cached...