ModifierManager implements Tickable { public void removeAttributeModifier(String target, String tag, Point position) { Iterator<AttributeModifier> iterator = attributeModifiers.iterator(); while (iterator.hasNext()) { AttributeModifier modifier = iterator.next(); if (modifier.getTag().equals(tag) && modifier.getTarget().equals(target) && modifier.getPosition().equals(position)) { iterator.remove(); } } } ModifierManager(); void addNewAttributeModifier(Map<String, String> settings); void removeAttributeModifier(String target, String tag,
                                        Point position); void purge(String tag); Integer count(String tag); @Override void tick();  }
@Test public void testRemoveAttributeModifier() throws Exception { Map<String, String> settings = new HashMap<>(); settings.put("tag", "Tests"); settings.put("target", "Batman"); settings.put("location", position.toString()); manager.addNewAttributeModifier(settings); manager.removeAttributeModifier("Batman", "Tests", position); Assert.assertTrue(manager.count("Tests") == 1); Assert.assertTrue(manager.count("all") == 1); }