code: protected List<Integer> getUserWidths()
      {
          List<Integer> ret = null;
          try {
              if (Context.getThreadContext().containsUserAttribute(
                              getCacheKey(UITable.UserCacheKey.COLUMNWIDTH))) {
                  setUserWidth(true);
                  final String widths = Context.getThreadContext().getUserAttribute(
                                  getCacheKey(UITable.UserCacheKey.COLUMNWIDTH));
  
                  final StringTokenizer tokens = new StringTokenizer(widths, ";");
  
                  ret = new ArrayList<>();
  
                  while (tokens.hasMoreTokens()) {
                      final String token = tokens.nextToken();
                      for (int i = 0; i < token.length(); i++) {
                          if (!Character.isDigit(token.charAt(i))) {
                              final int width = Integer.parseInt(token.substring(0, i));
                              ret.add(width);
                              break;
                          }
                      }
                  }
              }
          } catch (final NumberFormatException e) {
              // we don't throw an error because this are only Usersettings
              AbstractUIHeaderObject.LOG.error("error during the retrieve of UserAttributes in getUserWidths()", e);
          } catch (final EFapsException e) {
              // we don't throw an error because this are only Usersettings
              AbstractUIHeaderObject.LOG.error("error during the retrieve of UserAttributes in getUserWidths()", e);
          }
          return ret;
      }
docs: This method retieves the UserAttribute for the ColumnWidths and evaluates
  the string.
  
  @return List with the values of the columns in Pixel