import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.math.BigDecimal;
import java.util.Map;

public class Test {

    private static final Gson GSON = new GsonBuilder().create();

    public void testFunc() {
        testFunc2(fromMongoJsonObject(new TypeToken<>() {
        }));
    }

    void testFunc2(Map<Long, BigDecimal> aMap) {
    }

    private static <R> R fromMongoJsonObject(TypeToken<R> aTypeToken) {
        return GSON.fromJson("Test", aTypeToken.getType());
    }
} 