code: public int getExternalFieldValue(final String externalFieldName, final JBBPCompiledBlock compiledBlock, final JBBPIntegerValueEvaluator evaluator) {
      final String normalizedName = JBBPUtils.normalizeFieldNameOrPath(externalFieldName);
      if (this.externalValueProvider == null) {
        throw new JBBPEvalException("Request for '" + externalFieldName + "' but there is not any value provider", evaluator);
      } else {
        return this.externalValueProvider.provideArraySize(normalizedName, this, compiledBlock);
      }
    }
docs: Ask the registered external value provider for a field value.
  
  @param externalFieldName the name of a field, it must not be null
  @param compiledBlock     the compiled block, it must not be null
  @param evaluator         an evaluator which is calling the method, it can be null
  @return integer value for the field
  @throws JBBPException if there is not any external value provider