Context myClassContext;
final boolean useTypesContext = pClassContext != null;
if (useTypesContext) {
myClassContext = pClassContext;
} else {
XSObject contextObject = pObject;
if (pObject instanceof XSElement) {
XSElement element = (XSElement) pObject;
if (element.isReference()) {
contextObject = pObject.getXSSchema().getElement(name);
}