public void preBind(IBindingContext bindingContext) throws SyntaxNodeException { if (!bindingContext.isExecutionMode()) { getTableSyntaxNode().setMetaInfoReader(new SpreadsheetMetaInfoReader(this)); } TableSyntaxNode tableSyntaxNode = getTableSyntaxNode(); validateTableBody(tableSyntaxNode, bindingContext); IOpenMethodHeader header = getHeader(); this.bindingContext = bindingContext; componentsBuilder = new SpreadsheetComponentsBuilder(tableSyntaxNode, bindingContext); componentsBuilder.buildHeaders(header.getType()); structureBuilder = new SpreadsheetStructureBuilder(componentsBuilder, header); String headerType = header.getName() + "Type"; OpenL openL = bindingContext.getOpenL(); spreadsheetOpenClass = new SpreadsheetOpenClass(headerType, openL); Boolean autoType = tableSyntaxNode.getTableProperties().getAutoType(); structureBuilder.addCellFields(spreadsheetOpenClass, autoType); }