code: private <T> T convertObject(byte[] json, Class<T> claz) throws IOException {
          TypeReference<RestSuccessResult<Map<?, ?>>> typeReference = new TypeReference<RestSuccessResult<Map<?, ?>>>() {
          };
          RestSuccessResult<T> successResponse = MAPPER.readValue(json, typeReference);
          Map<?, ?> data = (Map<?, ?>) successResponse.getData();
          return MAPPER.convertValue(data, claz);
      }
docs: Map is used for generic deserialization (jackson returns LinkedHashMap by default when
  generic type is used)