1This code is published under the Eclipse Public License (EPL). 2See http://www.eclipse.org/legal/epl-v10.html 3 4