using System;

public class GenericReusableFactory<T> : AbstractReusableFactory where T : class, new()
{
	#region implemented abstract members of AbstractFactory
	public override IReusable Create (object parameter)
	{
		return Create();
	}
	#endregion
	
	public GenericReusable<T> Create ()
	{
		return new GenericReusable<T>(new T());
	}
}

