@SuppressWarnings("unchecked")
public Optional<G> getExtension(T data) {
for (Class<? extends Augmentation<T>> cls : classes) {
@SuppressWarnings("unchecked")
public Optional<G> getExtension(T data) {
for (Class<? extends Augmentation<T>> cls : classes) {