@Retention(value=RUNTIME) public @interface Demo
Demos GUI will look for types that are annotated with
        this annotation for presenting to the user as a self-contained demo.
        It is quite important that any classes that are annotated with this type are fully self-contained and do not have hard-coded, local filenames. They should use resources and the resources should be included.
| Modifier and Type | Required Element and Description | 
|---|---|
| String | authorName of the author of the demo | 
| String | descriptionA description of the demo. | 
| String[] | keywordsKeywords associated with the demo. | 
| String | titleThe title of the demo. | 
| Modifier and Type | Optional Element and Description | 
|---|---|
| String[] | argumentsAny arguments that need to be passed to the demo | 
| String | iconThe resource URI of an icon to represent the demo [optional] | 
| String | screenshotThe resource URI of a screenshot of the demo [optional] | 
| String[] | vmArgumentsAny JVM arguments that need to be passed to the demo | 
public abstract String description
public abstract String screenshot
public abstract String[] vmArguments