public boolean isInstance(Object object) { if ((!isDataType()) && (object instanceof DataObject)) { Type doType = ((DataObject) object).getType(); if (doType != null) { return doType.equals(this); } } // this check is taken from page 77 of the spec Class instanceClass = getInstanceClass(); if (instanceClass != null) { return instanceClass.isInstance(object); } return false; }