/** {@inheritDoc} */
  @Override
  protected void parseData(final JSONObject json) {
    super.parseData(json);

    if (json != null) {
      parseProperties(json);
    }
  }
  /** {@inheritDoc} */
  @Override
  protected void beforeParse() {
    super.beforeParse();

    properties = new ArrayList<JSONMetaDataObject>();
  }
  /**
   * Removes a collection of property models from the container.
   *
   * @param propertyCollection a collection of property models
   */
  @Override
  public void removeAll(Collection<JSONMetaDataObject> propertyCollection) {
    super.removeAll(propertyCollection);

    properties.removeAll(propertyCollection);
  }