code: public static ExtractFromRow extractFullText( final int indexInRow,
                                                    final NodeCache cache,
                                                    TypeSystem types,
                                                    final BinaryStore binaries ) {
          final TypeFactory<String> type = types.getStringFactory();
          final boolean trace = NodeSequence.LOGGER.isTraceEnabled();
          return new ExtractFromRow() {
              @Override
              public TypeFactory<String> getType() {
                  return type;
              }
  
              @Override
              public Object getValueInRow( RowAccessor row ) {
                  CachedNode node = row.getNode(indexInRow);
                  if (node == null) return null;
                  StringBuilder fullTextString = new StringBuilder();
                  Name name = node.getName(cache);
                  fullTextString.append(name.getLocalName());
                  Iterator<Property> iter = node.getProperties(cache);
                  while (iter.hasNext()) {
                      extractFullTextFrom(iter.next(), type, fullTextString, binaries, node, cache);
                  }
                  if (trace) NodeSequence.LOGGER.trace("Extracting full-text from {0}: {1}", node.getPath(cache), fullTextString);
                  // There should always be some content, since every node except the root has a name and even the
                  // root node has some properties that will be converted to full-text ...
                  return fullTextString.toString();
              }
  
              @Override
              public String toString() {
                  return "(extract-full-text)";
              }
          };
      }
docs: Obtain a new {@link ExtractFromRow} instance that will extract the full text for a node.
  <p>
  Note that if the node is null at the specified index in the row, the extractor's
  {@link ExtractFromRow#getValueInRow(NodeSequence.RowAccessor)} will return null.
  </p>
  
  @param indexInRow the index of the selector in the row; presumed to be valid
  @param cache the node cache; may not be null
  @param types the system of types; may not be null
  @param binaries the binary store; may not be null
  @return the object that extracts a value from the row; never null