Matcher matcher = OS_PATTERN.matcher(from);
if (matcher.find()) {
OsFamily osFamily = parseOsFamilyOrUnrecognized(matcher.group(1));
builder.family(osFamily);
String version = (matcher.group(3) != null) ? matcher.group(2) + matcher.group(3) : matcher.group(2);
builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, version, osVersionMap));
} else {
OsFamily osFamily = parseOsFamilyOrUnrecognized(from);
builder.family(osFamily);
}
return builder.build();