code: public List<LayoutProperty> getAllProperties() throws FetchException {
          List<LayoutProperty> all = mAllProperties;
  
          if (all == null) {
              Cursor <StoredLayoutProperty> cursor = mLayoutFactory.mPropertyStorage
                  .query("layoutID = ?")
                  .with(mStoredLayout.getLayoutID())
                  .orderBy("ordinal")
                  .fetch();
  
              try {
                  List<LayoutProperty> list = new ArrayList<LayoutProperty>();
  
                  while (cursor.hasNext()) {
                      list.add(new LayoutProperty(cursor.next()));
                  }
  
                  mAllProperties = all = Collections.unmodifiableList(list);
              } finally {
                  cursor.close();
              }
          }
  
          return all;
      }
docs: Returns all the properties of this layout, in their proper order.