protected function getPredicatesFromPredicateFunctions($array)
    {
        $predicates = [];
        if(is_array($array))
        {
            if(isset($array['predicates']))
            {
                $predicates = $array['predicates'];
            } else
            {
                $predicates = array_merge($predicates, $this->getPredicatesFromPredicateFunctions($array[key($array)]));
            }
        }
        return $predicates;
    }
protected function getPredicatesFromPredicateFunctions($array)
    {
        $predicates = [];
        if(is_array($array))
        {
            if(isset($array['predicates']))
            {
                $predicates = $array['predicates'];
            } else
            {
                $predicates = array_merge($predicates, $this->getPredicatesFromPredicateFunctions($array[key($array)]));
            }
        }
        return $predicates;
    }
protected function getPredicatesFromPredicateFunctions ( $ array ) { $ predicates = [ ] ; if ( is_array ( $ array ) ) { if ( isset ( $ array [ 'predicates' ] ) ) { $ predicates = $ array [ 'predicates' ] ; } else { $ predicates = array_merge ( $ predicates , $ this -> getPredicatesFromPredicateFunctions ( $ array [ key ( $ array ) ] ) ) ; } } return $ predicates ; }
When given an array as input, will traverse any predicate functions and return the predicate strings

@param array $array
@return array
When given an array as input will traverse any predicate functions and return the predicate strings