protected JsonSchema propertySchema(BeanProperty prop) throws JsonMappingException {
   if (prop == null) {
     throw new IllegalArgumentException("Null property");
   }
   SchemaFactoryWrapper visitor = wrapperFactory.getWrapper(getProvider());
   JsonSerializer<Object> ser = getSer(prop);
   if (ser != null) {
     JavaType type = prop.getType();
     if (type == null) {
       throw new IllegalStateException("Missing type for property '" + prop.getName() + "'");
     }
     ser.acceptJsonFormatVisitor(visitor, type);
   }
   return visitor.finalSchema();
 }
 protected JsonSchema propertySchema(JsonFormatVisitable handler, JavaType propertyTypeHint)
     throws JsonMappingException {
   SchemaFactoryWrapper visitor = wrapperFactory.getWrapper(getProvider());
   handler.acceptJsonFormatVisitor(visitor, propertyTypeHint);
   return visitor.finalSchema();
 }