code: private void init()
          throws EFapsException
      {
          if (!this.initialized) {
              this.initialized = true;
              final List<Field> fields = getTable().getFields();
  
              boolean check4Filter = true;
              if (Context.getThreadContext().containsSessionAttribute(getCacheKey(CacheKey.DBFILTER))) {
                  check4Filter = false;
                  final FilterList tmpFilterList = (FilterList) Context.getThreadContext().getSessionAttribute(
                                  getCacheKey(CacheKey.DBFILTER));
                  for (final IFilter filter : tmpFilterList) {
                      this.filterList.add(filter);
                  }
              }
  
              for (final Field field : fields) {
                  if (field.hasAccess(TargetMode.VIEW, null, getCommand(), null) && !field.isNoneDisplay(
                                  TargetMode.VIEW)) {
                      final GridColumn column = new GridColumn().setFieldConfig(new FieldConfiguration(field.getId()));
                      this.columns.add(column);
                      // before executing the esjp add the filters that are
                      // working against the database to
                      // get them filled with the defaults
                      if (check4Filter && FilterBase.DATABASE.equals(field.getFilter().getBase())) {
                          this.filterList.add(getFilter4Field(column.getField()));
                      }
                  }
              }
              if (isStructureTree()) {
                  load(getPrint(getMainQueryStmt()), Collections.emptyMap());
              } else {
                  final List<Instance> instances = getInstances();
                  setColumnsUpToDate(CollectionUtils.isNotEmpty(instances));
                  load(instances);
              }
          }
      }
docs: Inits the.
  
  @throws EFapsException the e faps exception