docs: private DataModel createDataModel()
      {
          Object value = getValue();
  
          if (value == null)
          {
              return EMPTY_DATA_MODEL;
          }
          else if (value instanceof DataModel)
          {
              return (DataModel) value;
          }
          else if (value instanceof List)
          {
              return new ListDataModel((List<?>) value);
          }
          else if (OBJECT_ARRAY_CLASS.isAssignableFrom(value.getClass()))
          {
              return new ArrayDataModel((Object[]) value);
          }
          else if (value instanceof ResultSet)
          {
              return new ResultSetDataModel((ResultSet) value);
          }
          else if (value instanceof Result)
          {
              return new ResultDataModel((Result) value);
          }
          else if (value instanceof Collection)
          {
              return new CollectionDataModel((Collection) value);
          }
          else
          {
              return new ScalarDataModel(value);
          }
      }