public function generateWhere(?array $clauses, string $prepend = '') : string
    {
        // If no clauses are provided, return an empty string
        if (null === $clauses || count($clauses) < 1) {
            return '';
        }
        $clauses = array_values(array_filter($clauses, function ($val) {
            return $val !== '';
        }));
        $return = implode(' AND ', $clauses);
        if ($return !== '') {
            $return = $prepend . ' ' . $return;
        }
        return $return;
    }