##############################################################################
# Copyright (c) 2011 Mia-Software and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v20.html
#
# Contributors:
#     Fabien Giquel (Mia-Software) - initial API and implementation
###############################################################################

oem.java.discoverer.cdo pkg is exposed to oem.modisco.java.discover.benchmark because cdo discoverer is subclassed in unit tests
oem.java.discoverer.cdo pkg is exposed to oem.modisco.java.discover.cdo.tests because of discoverer CDO constants use