package p;

public class SomeOtherClass {
	
	SomeClass someClass;

	/**
	 * @return Returns the someClass.
	 */
	public SomeClass getSomeClass() {
		return someClass;
	}

	/**
	 * @param a The a to set.
	 */
	public void setSomeClass(SomeClass a) {
		this.someClass = a;
	}

}
