public <MT extends JvmMetadata<MT, MD>, MD extends Difference> Specifier<MT, MD> metadata(Class<MT> metaClass) {
      //noinspection unchecked
      return (Specifier<MT, MD>)myMetadataDiffCache.computeIfAbsent(metaClass, k -> Difference.deepDiff(myPast.getMetadata(metaClass), getMetadata(metaClass)));
    }
public <MT extends JvmMetadata<MT, MD>, MD extends Difference> Specifier<MT, MD> metadata(Class<MT> metaClass)