public function process($process)
    {
        $ds = new DataStore;
        $process->pipe($ds);
        $top_process = $process;
        while ($top_process->previous()!=null) {
            $top_process = $top_process->previous();
        }
        $top_process->receiveMeta($this->metaData, $this);
        $top_process->startInput($this);

        foreach ($this->rows as $row) {
            $top_process->input($row, $this);
        }
        $top_process->endInput($this);
        return $ds;
    }