public function select($query, $params = [], $type = null) {

		$type = $type === null ? $this -> getEntityNamespace($this -> getTable()) : $type;

		if(null === $this -> getAdapter()) {
			return trigger_error(sprintf('No database adapter was set in "%s"', __METHOD__), E_USER_ERROR);
		}
		
		return new ResultSet($this -> getAdapter() -> query($query, $params) -> toArray(), $type, $this -> getAdapter());
	}