protected function buildArguments($value, array $args = null)
    {
        if (! $args) {
            return (array) $value;
        }

        $valuePosition = array_search(static::PLACEHOLDER_VALUE, $args, true);

        if ($valuePosition === false) {
            return array_merge((array) $value, $args);
        } else {
            $args[$valuePosition] = $value;
        }

        return $args;
    }