class DefaultFieldFilterService implements FieldFilterService {

    @Override
    public ComplexNode toComplexNode( FieldFilterParams params )
    {
        if ( params.getObjects().isEmpty() )
        {
            return null;
        }

        Object object = params.getObjects().get( 0 );
        CollectionNode collectionNode = toCollectionNode( object.getClass(), params );

        if ( !collectionNode.getChildren().isEmpty() )
        {
            return (ComplexNode) collectionNode.getChildren().get( 0 );
        }

        return null;
    }

    public  DefaultFieldFilterService(
        FieldParser fieldParser,
        SchemaService schemaService,
        AclService aclService,
        CurrentUserService currentUserService,
        AttributeService attributeService,
        @Autowired( required = false ) Set<NodeTransformer> nodeTransformers );

}