public function HasClass($name, $header="", $namespace="")
    {
        if(!$namespace)
        {
            $components = $this->GetComponents($name);
            
            if($components->HasNamespace())
            {
                $namespace = $components->namespace;
                $name = $components->type;
            }
        }
        
        if($header)
        {
            if($namespace)
            {
                if(isset($this->headers[$header]->namespaces[$namespace]->classes[$name]))
                {
                    return $this->headers[$header]->namespaces[$namespace]->classes[$name];
                }
            }
            else
            {
                foreach($this->headers[$header]->namespaces as $namespace_object)
                {
                    if(isset($namespace_object->classes[$name]))
                    {
                        return $namespace_object->classes[$name];
                    }
                }
            }
        }
        elseif($namespace)
        {
            foreach($this->headers as $header_object)
            {
                if(isset($header_object->namespaces[$namespace]->classes[$name]))
                {
                    return $header_object->namespaces[$namespace]->classes[$name];
                }
            }
        }
        else
        {
            foreach($this->headers as $header_object)
            {
                foreach($header_object->namespaces as $namespace_object)
                {
                    if(isset($namespace_object->classes[$name]))
                    {
                        return $namespace_object->classes[$name];
                    }
                }
            }
        }
        
        return null;
    }