@Override
 @SuppressWarnings("unchecked")
 public T getInstance() {
   A a = adaptedItem.getInstance();
   try {
     return ((JsonbAdapter<T, A>) adapterInfo.getAdapter()).adaptFromJson(a);
   } catch (Exception e) {
     throw new JsonbException(
         Messages.getMessage(
             MessageKeys.ADAPTER_EXCEPTION,
             adapterInfo.getFromType(),
             adapterInfo.getToType(),
             adapterInfo.getAdapter().getClass()),
         e);
   }
 }
 @Override
 public String getJsonKeyName() {
   return adaptedItem.getJsonKeyName();
 }
 @Override
 public PropertyModel getWrapperPropertyModel() {
   return adaptedItem.getWrapperPropertyModel();
 }
 @Override
 public UnmarshallerItem<?> newItem(String fieldName, JsonValueType jsonValueType) {
   return adaptedItem.newItem(fieldName, jsonValueType);
 }
 @Override
 public void appendValue(String key, String value, JsonValueType jsonValueType) {
   adaptedItem.appendValue(key, value, jsonValueType);
 }
 @Override
 public void appendItem(UnmarshallerItem<?> valueItem) {
   wrapperItem.appendItem(this);
 }
 @Override
 public Type getRuntimeType() {
   return adaptedItem.getRuntimeType();
 }