El  método collection.filter( ) devuelve una nueva colección que  contiene todos los elementos de la colección original para los cuales el resultado del método nomMet es true. Este  método devuelve una copia superficial, lo que significa que los objetos  o colecciones en ambas colecciones comparten la misma referencia. Si la colección original es una colección compartida, la colección devuelta también es una colección compartida.
Nota: este método no modifica la colección original.
En nomMet, pase el nombre del método a utilizar para evaluar los elementos  de la colección, junto con su(s) parámetro(s) en param (opcional). nomMet puede realizar cualquier prueba, con o sin el(los)  parámetro(s), y debe devolver true en $1.result para cada  elemento que cumpla la condición y por lo tanto, para avanzar a la  nueva colección.
 nomMet recibe los siguientes parámetros:
- en $1.value: valor del elemento a filtrar
- en $2: param
- en $N...: param2...paramN
nomMet define los siguientes parámetros:
- $1.result (booleano): true si el valor del elemento coincide con la condición del filtro y debe mantenerse.
- $1.stop (booleano, opcional): true para detener la retrollamada del método. El valor devuelto es el último calculado.
Desea obtener la colección de elementos de texto cuya longitud es menor que 6:
El código para el método LengthLessThan es:
 C_OBJECT($1)
 C_LONGINT($2)
 If(Value type($1.value)=Is text)
    $1.result:=(Length($1.value))<$2
 End ifDesea filtrar los elementos de acuerdo con su tipo de valor:
El código para TypeLookUp es:
 C_OBJECT($1)
 C_LONGINT($2)
 If(OB Get type($1;"value")=$2)
    $1.result:=True
 End if