code: @Override
  	public <TargetContextType extends IModifyableContext<ElementType>> TargetContextType lookup(
  			final Predicate<ElementType> pPredicate, final int pMaxCount, final TargetContextType pTarget) {
  
  		if (pMaxCount > 0) {
  			for (final ElementType lElement : fElements) {
  				if (pPredicate.test(lElement)) {
  					pTarget.put(lElement);
  				}
  				if (pTarget.getCurrentElementCount() >= pMaxCount) {
  					break;
  				}
  			}
  
  		}
  		return pTarget;
  	}
docs: Looks up elements that match given predicate and returns them in given
  {@link IModifyableContext}.
  
  @param pPredicate
  The criteria the elements must match to be found.
  @param pMaxCount
  If lookup would return more elements, this limits the max
  number of elements looked up.
  @param pTarget
  Where the found elements were put into.