public static GraphAnalyticsRecord fromString(String value) { value = eat(value, "{\"numCommunities\": "); int end = value.indexOf(","); int numCommunities = Integer.parseInt(value.substring(0, end)); value = eat(value.substring(end), ", \"communities\": ["); List<GraphCommunity> communities = new ArrayList<>(); value = eat(value, "{\"hierLevel\": "); end = value.indexOf(", "); int hierLevel = Integer.parseInt(value.substring(0, end)); value = eat(value.substring(end), ", \"id\": "); end = value.indexOf(", "); long id = Long.parseLong(value.substring(0, end)); value = eat(value.substring(end), ", \"coords\": ["); end = value.indexOf(","); double x = Double.parseDouble(value.substring(0, end)); value = eat(value.substring(end), ", "); end = value.indexOf("], "); double y = Double.parseDouble(value.substring(0, end)); value = eat(value.substring(end), "], \"radius\": "); end = value.indexOf(", "); double radius = Double.parseDouble(value.substring(0, end)); value = eat(value.substring(end), ", \"degree\": "); end = value.indexOf(", "); int degree = Integer.parseInt(value.substring(0, end));