The class implementation inheritance hierarchy used in the org.apache.woden.internal.wsdl20 package contains an error which means that classes representing WSDL elements that are not present in the WSDL component model (types, import and include) end up inheriting the method implementations for the WSDLComponent interface.
The cause of this problem is that WSDLObjectImpl, which implements WSDLComponent interface, extends DocumentableImpl and all WSDL objects except DocumentationImpl extend WSDLObjectImpl. While it is correct that all these WSDL objects are documentable (i.e. their WSDL elements may contain the <documentation> child element), they are not all represented in the component model (i.e. types, import and include are infoset only).
The solution is to switch around DocumentableImpl and WSDLObjectImpl in the inheritance hierarchy, so that WSDLObjectImpl extends DocumentableImpl. The types, import and include impl classes should continue to inherit from DocumentableImpl, but the other (component model) impl classes should be changed to inherit from WSDLObjectImpl instead.
To maintain naming consistency with the other impl classes, the WSDLObjectImpl class should be renamed to WSDLComponentImpl.