public function getter($key, $cache=null)
    {
        $rel = $this;

        return function($object) use ($key, $rel, $cache) {
            return $rel->get($object, $key, $cache);
        };
    }
public function getter($key, $cache=null)
    {
        $rel = $this;

        return function($object) use ($key, $rel, $cache) {
            return $rel->get($object, $key, $cache);
        };
    }
public function getter ( $ key , $ cache = null ) { $ rel = $ this ; return function ( $ object ) use ( $ key , $ rel , $ cache ) { return $ rel -> get ( $ object , $ key , $ cache ) ; } ; }
delegate double dispatch calls to type
delegate double dispatch calls to type