private Element currentlyClicking;
protected abstract void initElements();
@Override
<BUG>public void addElement(Element element) {
this.elements.add(element);
element.init();</BUG>
}
@Override
public void addElements(Collection<Element> elements) {
elements.forEach(this::addElement);

private Element currentlyClicking;
protected abstract void initElements();
@Override
public void addElement(Element element) {
synchronized (this.elementLock) {
this.elements.add(element);
}
element.init();
}
@Override
public void addElements(Collection<Element> elements) {
elements.forEach(this::addElement);
