code: public void update(Object[] newValues, boolean updateOutOnly) {
          AssertUtils.assertNotNull(newValues);
  
          if (newValues.length != this.values.size()) {
              throw new IllegalArgumentException(ERROR_INCORRECT_LENGTH);
          }
  
          this.assertIncorrectOrder();
  
          String parameterName = null;
          for (int i = 0; i < newValues.length; i++) {
              parameterName = this.getNameByPosition(i);
  
              if (updateOutOnly == false || isOutParameter(parameterName) == true) {
                  parameterName = this.getNameByPosition(i);
  
                  this.updateValue(parameterName, newValues[i]);
              }
          }
      }
docs: Utility function.
  Updates this instance values from array @newValues
  Allows updating only fields which are OUT/INOUT parameters
  
  @param newValues     array of updated values
  @param updateOutOnly check if update OUT/INOUT parameters only