/*******************************************************************************
 * Copyright (c) 2007, 2008 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/

 *** This is a temporary pre-release container for things we'd like to include in documentation **** 

Include a note: If you refer to classes from this bundle by name (such as including
them in login configuration files), don't forget to add dependency on
org.eclipse.equinox.security to your bundle.


