code: static MetadataVersion parsePreRelease(String preRelease) {
          VersionParser parser = new VersionParser(preRelease);
          return parser.parsePreRelease();
      }
docs: Parses the pre-release version.
  
  @param preRelease the pre-release version string to parse
  @return a valid pre-release version object
  @throws IllegalArgumentException if the input string is {@code NULL} or empty
  @throws ParseException when there is a grammar error
  @throws UnexpectedCharacterException when encounters an unexpected character type