package p;

public class SomeClass {

	SomeClass someClass;

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

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