code: @SuppressWarnings({ "rawtypes", "unchecked" })
  	public static <T extends Serializable> SharedReference<T> of(T object){
  		Iterator<SharedReference> sl = ServiceLoader
  	            .load(SharedReference.class, ClassLoader.getSystemClassLoader()).iterator();
  		if (sl.hasNext()){
  			SharedReference<T> sr = sl.next();
  			sr.set(object);
  			return sr;
  		}
  		throw new IllegalStateException("Failed to find '" + SharedReference.class.getName() + "' provider.");
  	}
docs: Factory method which creates an instance of {@link SharedReference}.
  It does so by using standard Java service loader mechanism (see {@link ServiceLoader}).<br>
  There is no basic implementation of this strategy, so each provider must provide its
  own implementation and specify it in <i>META-INF/services/dstream.support.SharedReference</i>
  file.
  
  @param object instance of {@link Serializable} object to hold as reference
  @return