protected function parseAccount($account)
    {
        // Separate the account by it's account and permission list.
        $parts = explode(':', trim($account));

        // We should receive exactly two parts of a permission
        // listing, otherwise we'll return null.
        if (count($parts) === 2) {
            $account = new Account($parts[0]);

            $acl = $this->parseAccessControlList($parts[1]);

            $account->setPermissions($acl);

            return $account;
        }

        return null;
    }