// Path: src/main/java/com/hyperwallet/clientsdk/HyperwalletException.java
// public class HyperwalletException extends RuntimeException {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private Response response = null;
//     private String errorMessage;
//     private String errorCode;
//     private List<String> relatedResources;
//     private HyperwalletErrorList hyperwalletErrorList;
// 
//     public HyperwalletException(final Exception e) {
//         super(e);
//     }
// 
//     public HyperwalletException(final Response response, final int code, final String message) {
//         super(message);
// 
//         this.response = response;
//         errorCode = Integer.toString(code);
//         errorMessage = message;
//     }
// 
//     public HyperwalletException(final Response response, final int code, final String message, final Exception e) {
//         super(e);
// 
//         this.response = response;
//         errorCode = Integer.toString(code);
//         errorMessage = message;
//     }
// 
//     public HyperwalletException(final Response response, final HyperwalletErrorList hyperwalletErrorList) {
//         super(hyperwalletErrorList.getErrors().get(0).getMessage());
// 
//         this.response = response;
//         this.hyperwalletErrorList = hyperwalletErrorList;
//         HyperwalletError error = this.hyperwalletErrorList.getErrors().get(0);
//         errorCode = error.getCode();
//         errorMessage = error.getMessage();
//         relatedResources = error.getRelatedResources();
//     }
// 
//     public HyperwalletException(final String errorMessage) {
//         super(errorMessage);
// 
//         this.errorMessage = errorMessage;
//     }
// 
//     public Response getResponse() {
//         return response;
//     }
// 
//     public String getErrorMessage() {
//         return errorMessage;
//     }
// 
//     public String getErrorCode() {
//         return errorCode;
//     }
// 
//     public List<String> getRelatedResources() {
//         return relatedResources;
//     }
// 
//     public List<HyperwalletError> getHyperwalletErrors() {
//         return hyperwalletErrorList != null ? hyperwalletErrorList.getErrors() : null;
//     }
// }
// 
// Path: src/main/java/com/hyperwallet/clientsdk/model/HyperwalletBaseMonitor.java
// public class HyperwalletBaseMonitor {
// 
//     @JsonIgnore
//     private Set<String> inclusions = new HashSet<String>();
// 
//     protected HyperwalletBaseMonitor() {
//     }
// 
//     public Set<String> getInclusions() {
//         return inclusions;
//     }
// 
//     protected void addField(String field, Object o) {
//         if (o == null && inclusions.contains(field)) {
//             inclusions.remove(field);
//         } else if (o != null) {
//             inclusions.add(field);
//         }
//     }
// 
//     protected void clearField(String field) {
//         inclusions.add(field);
//     }
// }


import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.ser.FilterProvider;
import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
import com.hyperwallet.clientsdk.HyperwalletException;
import com.hyperwallet.clientsdk.model.HyperwalletBaseMonitor;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
package com.hyperwallet.clientsdk.util;



public class HyperwalletJsonUtil {

    private static ObjectMapper objectMapper = new HyperwalletJsonConfiguration().getContext(Void.class);
    private static ObjectMapper parser = new HyperwalletJsonConfiguration().getParser();

    public HyperwalletJsonUtil() {
        throw new UnsupportedOperationException("This is a util class!");
    }

    public static <T> T fromJson(final String content, final Class<T> valueType) {
        if (StringUtils.isBlank(content)) {
            return null;
        }
        try {
            return HyperwalletJsonUtil.parser.readValue(content, valueType);
        } catch (IOException e) {
// Path: src/main/java/com/hyperwallet/clientsdk/HyperwalletException.java
// public class HyperwalletException extends RuntimeException {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private Response response = null;
//     private String errorMessage;
//     private String errorCode;
//     private List<String> relatedResources;
//     private HyperwalletErrorList hyperwalletErrorList;
// 
//     public HyperwalletException(final Exception e) {
//         super(e);
//     }
// 
//     public HyperwalletException(final Response response, final int code, final String message) {
//         super(message);
// 
//         this.response = response;
//         errorCode = Integer.toString(code);
//         errorMessage = message;
//     }
// 
//     public HyperwalletException(final Response response, final int code, final String message, final Exception e) {
//         super(e);
// 
//         this.response = response;
//         errorCode = Integer.toString(code);
//         errorMessage = message;
//     }
// 
//     public HyperwalletException(final Response response, final HyperwalletErrorList hyperwalletErrorList) {
//         super(hyperwalletErrorList.getErrors().get(0).getMessage());
// 
//         this.response = response;
//         this.hyperwalletErrorList = hyperwalletErrorList;
//         HyperwalletError error = this.hyperwalletErrorList.getErrors().get(0);
//         errorCode = error.getCode();
//         errorMessage = error.getMessage();
//         relatedResources = error.getRelatedResources();
//     }
// 
//     public HyperwalletException(final String errorMessage) {
//         super(errorMessage);
// 
//         this.errorMessage = errorMessage;
//     }
// 
//     public Response getResponse() {
//         return response;
//     }
// 
//     public String getErrorMessage() {
//         return errorMessage;
//     }
// 
//     public String getErrorCode() {
//         return errorCode;
//     }
// 
//     public List<String> getRelatedResources() {
//         return relatedResources;
//     }
// 
//     public List<HyperwalletError> getHyperwalletErrors() {
//         return hyperwalletErrorList != null ? hyperwalletErrorList.getErrors() : null;
//     }
// }
// 
// Path: src/main/java/com/hyperwallet/clientsdk/model/HyperwalletBaseMonitor.java
// public class HyperwalletBaseMonitor {
// 
//     @JsonIgnore
//     private Set<String> inclusions = new HashSet<String>();
// 
//     protected HyperwalletBaseMonitor() {
//     }
// 
//     public Set<String> getInclusions() {
//         return inclusions;
//     }
// 
//     protected void addField(String field, Object o) {
//         if (o == null && inclusions.contains(field)) {
//             inclusions.remove(field);
//         } else if (o != null) {
//             inclusions.add(field);
//         }
//     }
// 
//     protected void clearField(String field) {
//         inclusions.add(field);
//     }
// }


// Path: src/main/java/com/hyperwallet/clientsdk/util/HyperwalletJsonUtil.java
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.ser.FilterProvider;
import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
import com.hyperwallet.clientsdk.HyperwalletException;
import com.hyperwallet.clientsdk.model.HyperwalletBaseMonitor;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;

package com.hyperwallet.clientsdk.util;



public class HyperwalletJsonUtil {

    private static ObjectMapper objectMapper = new HyperwalletJsonConfiguration().getContext(Void.class);
    private static ObjectMapper parser = new HyperwalletJsonConfiguration().getParser();

    public HyperwalletJsonUtil() {
        throw new UnsupportedOperationException("This is a util class!");
    }

    public static <T> T fromJson(final String content, final Class<T> valueType) {
        if (StringUtils.isBlank(content)) {
            return null;
        }
        try {
            return HyperwalletJsonUtil.parser.readValue(content, valueType);
        } catch (IOException e) {
            throw new HyperwalletException(e);