code: public static TechnologyReference parseFromIDAndVersion(String idAndVersion)
      {
          if (idAndVersion.contains(":"))
          {
              String tech = StringUtils.substringBefore(idAndVersion, ":");
              String versionRangeString = StringUtils.substringAfter(idAndVersion, ":");
              if (!versionRangeString.matches("^[(\\[].*[)\\]]"))
                  versionRangeString = "[" + versionRangeString + "]";
  
              VersionRange versionRange = Versions.parseVersionRange(versionRangeString);
              return new TechnologyReference(tech, versionRange);
          }
          return new TechnologyReference(idAndVersion);
      }
docs: Parses a {@link TechnologyReference} from a string that is formatted as either
  "id" or "id:versionRange".