code: @SuppressWarnings("unchecked")
      public OrderedProperty<S>[] getOrderedProperties() {
          OrderedProperty<S>[] ordered = new OrderedProperty[mProperties.length];
          for (int i=mProperties.length; --i>=0; ) {
              ordered[i] = OrderedProperty.get(mProperties[i], mDirections[i]);
          }
          return ordered;
      }
docs: Returns a new array with all the properties in it, with directions
  folded in.