code: public int getPropertyCount()
      {
          int count;
          if (_superClass == null)
              count = 0;
          else
              count = _superClass.getPropertyCount();
  
          for (AptPropertySet propertySet : _propertySets) {
              // if a property set is set to optional and hasSetters is set to false,
              // there isn't a getter or setter available for that property
              if (propertySet.hasSetters() || !propertySet.isOptional()) {
                  count += propertySet.getProperties().size();
              }
          }
  
          count += _intfProps.size();
          return count;
      }
docs: Returns the total number of properties for this control interface