@Override public List<Property> getProperties() { if ( props == null ) { List<Property> props = new ArrayList<Property>( memberFeatures.size() ); for ( Feature feature : memberFeatures ) { props.add( new GenericProperty( getType().getMemberDeclarations().get( 0 ), null, feature ) ); } return props; } return props; }
@Override public List<Property> getProperties( QName propName ) { List<Property> namedProps = new ArrayList<Property>(); if ( props != null ) { for ( Property property : props ) { if ( propName.equals( property.getName() ) ) { namedProps.add( property ); } } } else if ( propName.equals( getType().getMemberDeclarations().get( 0 ) ) ) { for ( Feature feature : memberFeatures ) { namedProps.add( new GenericProperty( getType().getMemberDeclarations().get( 0 ), null, feature ) ); } } return namedProps; }