code: @SuppressWarnings("unchecked")
      public static <S extends Storable> OrderedProperty<S> get(ChainedProperty<S> property,
                                                                Direction direction) {
          return (OrderedProperty<S>) cCanonical.put(new OrderedProperty<S>(property, direction));
      }
docs: Returns a canonical instance.
  
  @throws IllegalArgumentException if property is null