public function importComponents(array $components)
    {
        if (isset($components[Parser::BUILD])) {
            $this->build = $components[Parser::BUILD];
        } else {
            $this->build = array();
        }

        if (isset($components[Parser::MAJOR])) {
            $this->major = $components[Parser::MAJOR];
        } else {
            $this->major = 0;
        }

        if (isset($components[Parser::MINOR])) {
            $this->minor = $components[Parser::MINOR];
        } else {
            $this->minor = 0;
        }

        if (isset($components[Parser::PATCH])) {
            $this->patch = $components[Parser::PATCH];
        } else {
            $this->patch = 0;
        }

        if (isset($components[Parser::PRE_RELEASE])) {
            $this->preRelease = $components[Parser::PRE_RELEASE];
        } else {
            $this->preRelease = array();
        }

        return $this;
    }