LSDController { public String registerApiInstance(LibShapeDraw apiInstance, String ownerId) { if (apiInstances.contains(apiInstance)) { throw new IllegalStateException("already registered"); } String apiInstanceId = apiInstance.getClass().getSimpleName() + "#" + topApiInstanceId; topApiInstanceId++; apiInstances.add(apiInstance); log.info("registered API instance " + apiInstanceId + ":" + ownerId); return apiInstanceId; } private  LSDController(); static LSDController getInstance(); static Logger getLog(); static MinecraftAccess getMinecraftAccess(); static boolean isInitialized(); void initialize(MinecraftAccess minecraftAccess); String registerApiInstance(LibShapeDraw apiInstance, String ownerId); boolean unregisterApiInstance(LibShapeDraw apiInstance); void respawn(ReadonlyVector3 playerCoords, boolean isNewServer, boolean isNewDimension); void gameTick(ReadonlyVector3 playerCoords); void render(ReadonlyVector3 playerCoords, boolean isGuiHidden); boolean debugDump();  }
@Test(expected=IllegalStateException.class) public void testRegisterApiInstanceInvalidExists() { LibShapeDraw api = new LibShapeDraw(); ct.registerApiInstance(api, "wat"); }
@Test(expected=NullPointerException.class) public void testRegisterApiInstanceInvalidNull() { ct.registerApiInstance(null, "wat"); }