@Override
 public boolean applies(PropertyPath path, TypeContext typeContext) {
   TypeDescriptor typeDescriptor = typeContext.type;
   return typeDescriptor.getRawType().equals(type);
 }
 @Override
 public ValueType describe(
     Optional<PropertyPath> path, TypeDescriptor type, DescribeContext context) {
   context.describeAsync(path.get().property("revision"), type.getField("revision"));
   return new VersionPropertyValueType();
 }