### Question:
APIData extends RecordData<T> { public static long fromObjectID(String inAPIId, ObjectClass inObjectClass, String inAPIKey) { long decypheredId = 0; final String classId = inObjectClass.getId(); final Matcher apiIdMatcher = APIData.API_ID_REGEX.matcher(inAPIId); if (apiIdMatcher.matches() && apiIdMatcher.group(2).equals(classId)) { final String hexObjectID = apiIdMatcher.group(1); final char[] md5IDSignature = DigestTools.digest(hexObjectID + classId + APIData.VORTEX_DOOR, DigestTools.Algorithm.MD5).toCharArray(); if (APIData.isConformToSignature(apiIdMatcher.group(3).toCharArray(), md5IDSignature)) { try { decypheredId = Long.parseLong(apiIdMatcher.group(1), 16); } catch (final NumberFormatException anException) { } } } return decypheredId; } protected  APIData(T inRecord); String getApiId(APICaller caller); String getApiId(String callerApiKey); static long fromObjectID(String inAPIId, ObjectClass inObjectClass, String inAPIKey);  }### Answer:
@Test public void testFromObjectID() { Assert.assertEquals(61009, APIData.fromObjectID("ee51Od4a5fab1", ObjectClass.VOBJECT, APIDataTest.API_KEY)); }