@Override
 public void accept(String key, ReadOnlyStringVisitor visitor) {
   errorHandler.wrapVoidCall(
       delegate.accept(
           stringToByteArray(key),
           new ReadOnlyStringVisitorAdapter(visitor, this),
           AccessType.READ_ONLY.value()));
 }
 @Override
 public void accept(String key, WritableStringVisitor visitor) {
   errorHandler.wrapVoidCall(
       delegate.accept(
           stringToByteArray(key),
           new WritableStringVisitorAdapter(visitor, this),
           AccessType.READ_WRITE.value()));
 }
 @Override
 public void accept(byte[] key, ReadOnlyVisitor visitor) {
   errorHandler.wrapVoidCall(
       delegate.accept(key, new ReadOnlyVisitorAdapter(visitor), AccessType.READ_ONLY.value()));
 }
 @Override
 public void accept(byte[] key, WritableVisitor visitor) {
   errorHandler.wrapVoidCall(
       delegate.accept(key, new WritableVisitorAdapter(visitor), AccessType.READ_WRITE.value()));
 }