public function sort(
        array $defaultOrder,
        array $controlsOrder = null,
        array $metaOrder = null,
        array $errorOrder = null
    ) {
        if (!in_array('{data}', $defaultOrder)) {
            throw new \InvalidArgumentException('Placeholder "{data}" not listed in $defaultOrder');

        } elseif ($controlsOrder && !in_array('{data}', $controlsOrder)) {
            throw new \InvalidArgumentException('Placeholder "{data}" not listed in $controlsOrder');

        } elseif ($metaOrder && !in_array('{data}', $metaOrder)) {
            throw new \InvalidArgumentException('Placeholder "{data}" not listed in $metaOrder');

        } elseif ($errorOrder && !in_array('{data}', $errorOrder)) {
            throw new \InvalidArgumentException('Placeholder "{data}" not listed in $errorOrder');
        }

        $controlsOrder || $controlsOrder = $defaultOrder;
        $metaOrder || $metaOrder = $defaultOrder;
        $errorOrder || $errorOrder = $defaultOrder;

        $this->applySort('', $defaultOrder, $controlsOrder, $metaOrder, $errorOrder);

        return $this;
    }