XML Schema loading problem with recursive definition

I’m trying to load a xsd file into IS 4.6 using Developer, but it throws the following error :

Could not use that DTD or XML Document. java.lang.reflect.InvocationTargetException: StackOverflowError

I wander whether IS 4.6 can support recursive definition within a complex type definition. In my understanding, it should be Ok if minOcurs = “0”. Isn’t there anyone who can answer this problem to me? Is it related to “xsd:restriction”? If I directly refer with “type=ED” without restriction then it is Ok to load, but if I use “xsd:restriction”, then it throws StackOverflowException.

Here is the source fragment :
<xsd:complexType name=“ED” mixed=“true”>
<xsd:complexContent mixed=“true”>
<xsd:extension base=“BIN”>
xsd:sequence
<xsd:element name=“reference” type=“TEL” minOccurs=“0”> </xsd:element>
<xsd:element name=“thumbnail” minOccurs=“0”> xsd:complexType xsd:complexContent <xsd:restriction base=“ED”> xsd:sequence <xsd:element name=“reference” type=“TEL” minOccurs=“0”/> <xsd:element name=“thumbnail” type=“ED” minOccurs=“0” maxOccurs=“0”/> </xsd:sequence> </xsd:restriction>
</xsd:complexContent> </xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>