code: private JAXBContext getJAXBContext(Class<? extends CCBAPIResponse> responseClass) {
          if (!jaxbContextCache.containsKey(responseClass)) {
              synchronized (jaxbContextCache) {
                  // Check again to be sure.
                  if (!jaxbContextCache.containsKey(responseClass)) {
                      try {
                          final JAXBContext jaxbContext = JAXBContext.newInstance(responseClass);
                          jaxbContextCache.put(responseClass, jaxbContext);
                      } catch (JAXBException e) {
                          throw new AssertionError("Could not construct JAXBContext for " + responseClass.getName(), e);
                      }
                  }
              }
          }
          return jaxbContextCache.get(responseClass);
      }
docs: Find or create the JAXBContext for a CCBAPIResponse implementation.
  
  @param responseClass The response implementation class.
  @return a JAXBContext which can be used to unmarshell the responseClass.