@Override public final <T extends UIWidget> T find(String targetId, Class<T> type) { if (this.id.equals(targetId)) { if (type.isInstance(this)) { return type.cast(this); } return null; } for (UIWidget contents : this) { if (contents != null) { T result = contents.find(targetId, type); if (result != null) { return result; } } } return null; }
@Override public void update(float delta) { for (UIWidget item : this) { item.update(delta); } }