@Override
 public void iterate(WritableStringVisitor visitor) {
   errorHandler.wrapVoidCall(
       delegate.iterate(
           new WritableStringVisitorAdapter(visitor, this), AccessType.READ_WRITE.value()));
 }
 @Override
 public void iterate(ReadOnlyStringVisitor visitor) {
   errorHandler.wrapVoidCall(
       delegate.iterate(
           new ReadOnlyStringVisitorAdapter(visitor, this), AccessType.READ_ONLY.value()));
 }