private function validateSetup()
    {
        if ($this->path === null) {
            throw new BuildException("You must specify a path to convert");
        }

        if ($this->property === null) {
            throw new BuildException("You must specify a property");
        }

        // Must either have a target OS or both a dirSep and pathSep

        if ($this->targetOS == null && $this->pathSep == null && $this->dirSep == null) {
            throw new BuildException(
                "You must specify at least one of "
                . "targetOS, dirSep, or pathSep"
            );
        }

        // Determine the separator strings.  The dirsep and pathsep attributes
        // override the targetOS settings.
        $dsep = PhingFile::$separator;
        $psep = PhingFile::$pathSeparator;

        if ($this->targetOS !== null) {
            $psep = $this->targetWindows ? ";" : ":";
            $dsep = $this->targetWindows ? "\\" : "/";
        }

        if ($this->pathSep !== null) {// override with pathsep=
            $psep = $this->pathSep;
        }

        if ($this->dirSep !== null) {// override with dirsep=
            $dsep = $this->dirSep;
        }

        $this->pathSep = $psep;
        $this->dirSep = $dsep;
    }