1 2 3 4 5 6 7 8
// Using type parameter in ITD public abstract aspect C<T> { private T Foo.data; public T Foo.getData(T defaultValue) { return (this.data!=null?data:defaultValue); } }