protected XSSimpleTypeDecl(XSSimpleTypeDecl base, String name, String uri, short finalSet) {
protected XSSimpleTypeDecl(XSSimpleTypeDecl base, String name, short validateDV, short ordered, boolean bounded, short cardinality, boolean numeric) {
    protected XSSimpleTypeDecl(XSSimpleTypeDecl base, String name, String uri, short finalSet) {        fBase = base;        fTypeName = name;        fTargetNamespace = uri;        fFinalSet = finalSet;        fVariety = fBase.fVariety;        fValidationDV = fBase.fValidationDV;        switch (fVariety) {        case VARIETY_ATOMIC:            //fPrimitiveDV = fBase.fPrimitiveDV;            break;        case VARIETY_LIST:            fItemType = fBase.fItemType;            break;        case VARIETY_UNION:            fMemberTypes = fBase.fMemberTypes;            break;        }        // always inherit facets from the base.        // in case a type is created, but applyFacets is not called        fLength = fBase.fLength;        fMinLength = fBase.fMinLength;        fMaxLength = fBase.fMaxLength;        fPattern = fBase.fPattern;        fEnumeration = fBase.fEnumeration;        fWhiteSpace = fBase.fWhiteSpace;        fMaxExclusive = fBase.fMaxExclusive;        fMaxInclusive = fBase.fMaxInclusive;        fMinExclusive = fBase.fMinExclusive;        fMinInclusive = fBase.fMinInclusive;        fTotalDigits = fBase.fTotalDigits;        fFractionDigits = fBase.fFractionDigits;        fTokenType = fBase.fTokenType;        fFixedFacet = fBase.fFixedFacet;        fFacetsDefined = fBase.fFacetsDefined;    }