private String[] parseLocalNames() throws IOException, LexerException, ParserException {
		Token token = this.nextToken();
		
		if (!(token != null && token.getType()==TokenType.SEPARATOR && token.getValue().equals("|"))) {
			this.pushToken(token);
			return null;
		}		
		
		List<String> names = new ArrayList<String>();

		for (token = this.nextToken(); token != null && token.getType()==TokenType.ID; token = this.nextToken())
			names.add(token.getValue());

		if (token == null || token.getType() != TokenType.SEPARATOR || !token.getValue().equals("|"))
			throw new ParserException("Expected '|'");
		
		String[] localnames = new String[names.size()];
		return names.toArray(localnames);
	}