@Override
public FileName deserialize( @Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion ) throws VersionException, IOException, JsonProcessingException {
//baseName
BaseName baseName = deserialize( BaseName.class, PROPERTY_BASENAME, formatVersion, deserializeFrom );
//extension
Extension extension = deserialize( Extension.class, PROPERTY_EXTENSION, formatVersion, deserializeFrom );
//Finally closing element
closeObject( deserializeFrom );
//Constructing the deserialized object
return new FileName( baseName, extension );
}