private function _processBracesOpen($token) {
		// "{" signifies beginning of a block. We need to look for
		// its position when it is a beginning of a control structure
		// or a function or class definition.

		// Check we have a white space before a curly opening in case of a "same line" indentation
		if ($this->_config->getTestProperty('funcDefinitionOpenCurly', 'position') === SAME_LINE) {
			$this->_checkWhiteSpaceBefore($token->text);
		}
		$stackitem = new StatementItem();
		$stackitem->line = $token->line;

		// if _justAfterFuncStmt is set, the "{" is the beginning of a function definition block
		if ($this->_justAfterFuncStmt) {
			$this->_processFunctionStart();
			$stackitem->type = "FUNCTION";
			$stackitem->name = $this->_currentFunctionName;
			$stackitem->visibility = $this->_functionVisibility;
		} else if ($this->_justAfterControlStmt) {
			// if _justAfterControlStmt is set, the "{" is the beginning of a control stratement block
			$this->_processControlStatementStart();
			$stackitem->type = strtoupper($this->_currentStatement);
		} else if ($this->_inClassStatement) {
			// if _inClassStatement is set then we are just after a class declaration
			$this->_inClassStatement = false;
			$this->_processClassStart();
			$stackitem->type = "CLASS";
			$stackitem->name = $this->_currentClassname;
		} else if ($this->_inInterfaceStatement) {
			// if _inInterfaceStatement is set then we are just after a Interface declaration
			$this->_inInterfaceStatement = false;
			$this->_processInterfaceStart();
			$stackitem->type = "INTERFACE";
			$stackitem->name = $this->_currentInterfacename;
		} else {
			$stackitem->type = "{";
		}

		// Check if the block is not empty
		$this->_checkEmptyBlock();

		$this->statementStack->push($stackitem);
	}