@OnMember
@Retention
package pkg1;

@interface Name {
	String first() default "Joe";

	String last() default "Smith";

	int age();
}

@interface Author {
	Name value();
}

@interface Retention {
}

@interface OnMember {
}

@interface OnParameter {
	String value();
}

@interface OnLocalVariable {
}

@OnMember
@Retention
@Author(@Name(first = "Jdt", last = "Core", age = 32))
public class X {

	@OnMember
	@Retention
	private String aString;

	@OnMember
	@Author(@Name(first = "John", last = "Doe", age = 32))
	X() {

	}

	@OnMember
	public void bar(@OnParameter("unused value")
	final int i, @OnParameter("unused value")
	String s) {
		@OnLocalVariable @Retention String localString = "string";
	}
}
