code: function toStageSuffixedName(unsuffixedName, separator, stage, inCase) {
    const name = trim(unsuffixedName);
    const stageSuffix = isNotBlank(stage) ? `${trimOrEmpty(separator)}${toCase(trim(stage), inCase)}` : '';
    return isNotBlank(name) && isNotBlank(stageSuffix) && !name.endsWith(stageSuffix) ? `${name}${stageSuffix}` : name;
  }
docs: Returns a stage-suffixed version of the given unsuffixed name with an appended stage suffix, which will contain the
  given separator followed by the given stage, which will be appended in uppercase, lowercase or kept as is according
  to the given inCase.
  @param {string} unsuffixedName - the unsuffixed name
  @param {string} separator - the separator to use to separate the resource name from the stage
  @param {string} stage - the stage to append
  @param {string} inCase - specifies whether to convert the stage to uppercase (if 'uppercase' or 'upper') or to
  lowercase (if 'lowercase' or 'lower') or keep it as provided (if 'as_is' or anything else)
  @return {string} the stage-suffixed name