/*******************************************************************************
 * Copyright (c) 2010 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
 *******************************************************************************/
package a.b.c;

import java.util.Vector;

/**
 * Test class
 */
public class SomeClass {
	
	protected Vector someField;

	public void someMethod(String string, SomeClass another) {
		someField = new Vector();
		someField.add(string);
		someField.add(another);
	}
}
