package p;

public class SomeNearlyIdenticalClass {

	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;
	}
	
}
