docs: public T extract(Object target) {
          if (target == null) {
              return null;
          }
          if (!(target instanceof DynamicObject)) {
              throw new IllegalArgumentException(
                      "Extraction target is not a DynamicObject");
          }
  
          return (T) ((DynamicObject) target).getValue(key);
      }