public function getParts()
    {
        $wsdlLines = $this->getWsdlLines();

        $parts = array();

        // If array is defied as inherited from array type it have only one line and looks like "Type ArrayOfType[]"
        if (sizeof($wsdlLines) == 1 && substr($wsdlLines[0], -2, 2) == '[]') {
            list($typeName, $name) = explode(" ", $wsdlLines[0]);
            $name = substr($name, 0, -2);
            $typeName .= '[]';

            $parts[$name] = $typeName;
        }

        for ($i = 1; $i < sizeof($wsdlLines) - 1; $i++) {
            $wsdlLines[$i] = trim($wsdlLines[$i]);
            list($typeName, $name) = explode(" ", substr($wsdlLines[$i], 0, strlen($wsdlLines[$i]) - 1));

            if ($this->isElementArray($name)) {
                $typeName .= '[]';
            }

            $parts[$name] = $typeName;
        }

        return $parts;
    }