code: public PropertyDescriptor removeProperty(String propertyName) {
          if (propertyName == null) {
              throw new IllegalArgumentException("Property name can not be null");
          }
          for (Iterator iter = properties.iterator(); iter.hasNext();) {
              PropertyDescriptor property = (PropertyDescriptor) iter.next();
              if (propertyName.equals(property.getName())) {
                  // remove the property from the list
                  iter.remove();
                  return property;
              }
          }
          return null;
      }
docs: Removes the first occurrence of the property named
  <code>propertyName</code>.
  
  @param propertyName
  @return the removed PropertyDescriptor or null if not found.