code: public T find(V value) {
  		checkInit();
  
  		for (T obj : preDefined) {
  			if (matches(obj, value)) {
  				return obj;
  			}
  		}
  		return null;
  	}
docs: Searches for a case object by value, only looking at the case class'
  static constants (does not include runtime-defined objects).
  @param value the value
  @return the object or null if one wasn't found