private String classSignature() throws UnexpectedTokenException
	{
		StringBuilder signature = new StringBuilder();
		this.expect(PLUS, MINUS, TILDE);
		signature.append(this.getToken().data);
		this.nextToken();
		this.expect(CLASS, INTERFACE, ENUM);
		signature.append(this.getToken().data);
		this.nextToken();
		this.expect(IDENT, LPAREN);
		if(this.accept(LPAREN))
		{
			this.nextToken();
			signature.append('(');

			while(!this.accept(RPAREN))
			{
				this.expect(STATIC, FINAL, ABSTRACT);
				signature.append(this.getToken().data);
				this.nextToken();

				if(this.accept(COMMA))
				{
					signature.append(',');
					this.nextToken();
					this.expect(STATIC, FINAL, ABSTRACT);
				}
			}
			signature.append(')');
			this.nextToken();
		}
		return signature.toString();
	}