function(sSkeleton, oAvailableFormats, sCalendarType, vDiff) {
			var vPattern, aPatterns, oIntervalFormats;

			if (!vDiff) {
				// the call is from getCustomDateTimePattern
				vPattern = oAvailableFormats[sSkeleton];
			} else if (typeof vDiff === "string") {
				// vDiff is given as a symbol
				if (vDiff == "j" || vDiff == "J") {
					vDiff = this.getPreferredHourSymbol();
				}
				oIntervalFormats = oAvailableFormats[sSkeleton];
				vPattern = oIntervalFormats && oIntervalFormats[vDiff];
			}

			if (vPattern) {
				if (typeof vPattern === "object") {
					aPatterns = Object.keys(vPattern).map(function(sKey) {
						return vPattern[sKey];
					});
				} else {
					return vPattern;
				}
			}

			if (!aPatterns) {
				aPatterns = this._createFormatPattern(sSkeleton, oAvailableFormats, sCalendarType, vDiff);
			}

			if (aPatterns && aPatterns.length === 1) {
				return aPatterns[0];
			}

			return aPatterns;
		}
function(sSkeleton, oAvailableFormats, sCalendarType, vDiff) {
			var vPattern, aPatterns, oIntervalFormats;

			if (!vDiff) {
				// the call is from getCustomDateTimePattern
				vPattern = oAvailableFormats[sSkeleton];
			} else if (typeof vDiff === "string") {
				// vDiff is given as a symbol
				if (vDiff == "j" || vDiff == "J") {
					vDiff = this.getPreferredHourSymbol();
				}
				oIntervalFormats = oAvailableFormats[sSkeleton];
				vPattern = oIntervalFormats && oIntervalFormats[vDiff];
			}

			if (vPattern) {
				if (typeof vPattern === "object") {
					aPatterns = Object.keys(vPattern).map(function(sKey) {
						return vPattern[sKey];
					});
				} else {
					return vPattern;
				}
			}

			if (!aPatterns) {
				aPatterns = this._createFormatPattern(sSkeleton, oAvailableFormats, sCalendarType, vDiff);
			}

			if (aPatterns && aPatterns.length === 1) {
				return aPatterns[0];
			}

			return aPatterns;
		}
function ( sSkeleton , oAvailableFormats , sCalendarType , vDiff ) { var vPattern , aPatterns , oIntervalFormats ; if ( ! vDiff ) { // the call is from getCustomDateTimePattern vPattern = oAvailableFormats [ sSkeleton ] ; } else if ( typeof vDiff === "string" ) { // vDiff is given as a symbol if ( vDiff == "j" || vDiff == "J" ) { vDiff = this . getPreferredHourSymbol ( ) ; } oIntervalFormats = oAvailableFormats [ sSkeleton ] ; vPattern = oIntervalFormats && oIntervalFormats [ vDiff ] ; } if ( vPattern ) { if ( typeof vPattern === "object" ) { aPatterns = Object . keys ( vPattern ) . map ( function ( sKey ) { return vPattern [ sKey ] ; } ) ; } else { return vPattern ; } } if ( ! aPatterns ) { aPatterns = this . _createFormatPattern ( sSkeleton , oAvailableFormats , sCalendarType , vDiff ) ; } if ( aPatterns && aPatterns . length === 1 ) { return aPatterns [ 0 ] ; } return aPatterns ; }
/* Helper functions for skeleton pattern processing
/ * Helper functions for skeleton pattern processing
Returns the pattern for the given format skeleton.