code: @Override
      public <T> T getAttribute(String attrName, Class<T> clazz) {
          Lock lock = lockForRead();
          try {
              return JacksonUtils.asValue(getAttribute(attrName), clazz);
          } finally {
              lock.unlock();
          }
      }
docs: {@inheritDoc}