public static HardMediumSoftLongScore parseScore(String scoreString) { String[] scoreTokens = parseScoreTokens(HardMediumSoftLongScore.class, scoreString, HARD_LABEL, MEDIUM_LABEL, SOFT_LABEL); int initScore = parseInitScore(HardMediumSoftLongScore.class, scoreString, scoreTokens[0]); long hardScore = parseLevelAsLong(HardMediumSoftLongScore.class, scoreString, scoreTokens[1]); long mediumScore = parseLevelAsLong(HardMediumSoftLongScore.class, scoreString, scoreTokens[2]); long softScore = parseLevelAsLong(HardMediumSoftLongScore.class, scoreString, scoreTokens[3]); return ofUninitialized(initScore, hardScore, mediumScore, softScore); }