###############################################################################
# Copyright (c) 2005, 2007 IBM Corporation and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0 which is available at
# http://www.eclipse.org/legal/epl-2.0.
#
# SPDX-License-Identifier: EPL-2.0
#

###############################################################################
param.description=parameter declaration
type.description=variable type declaration
this.description=this type declaration
extends.description=extends type declaration
throws.description=thrown exception declaration
return.decription=function return type declaration
author.description=author name
suppressWarnings.description=Indicates that the named warnings should be suppressed
