public function implode( $glue, $propertyOrClosure = null )
    {
        if( null === $propertyOrClosure ) {
            $pieces = $this->map('strval');
        } elseif ( $propertyOrClosure instanceof \Closure ) {
            $pieces = $this->map( $propertyOrClosure );
        } else {
            $pieces = $this->map( $this->generateGetPropertyClosure( $propertyOrClosure ) );
        }
        return implode( $glue, $pieces );
    }