private void registerOutParameter(int parameterIndex) throws SQLException {
   try {
     checkClosed();
     if (outParameters == null) {
       maxOutParameters =
           Math.min(
               getParameterMetaData().getParameterCount(), getCheckedMetaData().getColumnCount());
       outParameters = new BitField();
     }
     checkIndexBounds(parameterIndex);
     ParameterInterface param = command.getParameters().get(--parameterIndex);
     if (!param.isValueSet()) {
       param.setValue(ValueNull.INSTANCE, false);
     }
     outParameters.set(parameterIndex);
   } catch (Exception e) {
     throw logAndConvert(e);
   }
 }