private void addPropertyNodes( ITypeInfo beanInfo, boolean arrayicize )
  {
    List<? extends IPropertyInfo> properties = beanInfo instanceof IRelativeTypeInfo
                                               ? ((IRelativeTypeInfo)beanInfo).getProperties( _whosaskin )
                                               : beanInfo.getProperties();
    Set<String> propertyNames = new CaseInsensitiveSet<String>();
    for( IPropertyInfo property : properties )
    {
      if( shouldFilter( property.getName() ) )
      {
        // Filter this property -- it doesn't match the name constraint.
        continue;
      }

      if( property instanceof IndexedPropertyDescriptor )
      {
        IndexedPropertyDescriptor indexedProp = (IndexedPropertyDescriptor)property;
        if( indexedProp.getPropertyType() == null )
        {
          // Indexed properties must provide non-indexed access.
          continue;
        }
      }

      if( isHidden( beanInfo, property ) )
      {
        // Don't expose hidden properties in the composer.
        continue;
      }

      if( !mutualExclusiveStaticFilter( beanInfo, property ) )
      {
        continue;
      }
      if( includeOnlySimpleDescriptors() )
      {
        IType propType = property.getFeatureType();
        if( propType.isArray() || !isSimple( propType ) )
        {
          continue;
        }
      }

      String displayName = property.getDisplayName();
      if( !propertyNames.contains( displayName ) )
      {
        _children.add( new BeanTree( beanInfo, property, arrayicize && !TypeSystem.isExpandable( property.getFeatureType() ), this ) );
        propertyNames.add( displayName );
      }
    }

    evaluateProperties();
  }
private void addPropertyNodes ( ITypeInfo beanInfo , boolean arrayicize ) { List < ? extends IPropertyInfo > properties = beanInfo instanceof IRelativeTypeInfo ? ( ( IRelativeTypeInfo ) beanInfo ) . getProperties ( _whosaskin ) : beanInfo . getProperties ( ) ; Set < String > propertyNames = new CaseInsensitiveSet < String > ( ) ; for ( IPropertyInfo property : properties ) { if ( shouldFilter ( property . getName ( ) ) ) { continue ; } if ( property instanceof IndexedPropertyDescriptor ) { IndexedPropertyDescriptor indexedProp = ( IndexedPropertyDescriptor ) property ; if ( indexedProp . getPropertyType ( ) == null ) { continue ; } } if ( isHidden ( beanInfo , property ) ) { continue ; } if ( ! mutualExclusiveStaticFilter ( beanInfo , property ) ) { continue ; } if ( includeOnlySimpleDescriptors ( ) ) { IType propType = property . getFeatureType ( ) ; if ( propType . isArray ( ) || ! isSimple ( propType ) ) { continue ; } } String displayName = property . getDisplayName ( ) ; if ( ! propertyNames . contains ( displayName ) ) { _children . add ( new BeanTree ( beanInfo , property , arrayicize && ! TypeSystem . isExpandable ( property . getFeatureType ( ) ) , this ) ) ; propertyNames . add ( displayName ) ; } } evaluateProperties ( ) ; }
@param beanInfo
@param arrayicize