code: protected DependencyContextGenerator getContextGenerator() {
          int pathLength = argOptions.getIntOption('W', 5);
          int vectorLength = argOptions.getIntOption('l', 5000);
  
          if (argOptions.hasOption('L')) {
              indexMap = loadObject(openLoadFile());
              permFunc = loadObject(openLoadFile());
          } else {
              indexMap = new GeneratorMap<TernaryVector>(
                      new RandomIndexVectorGenerator(vectorLength));
              if (argOptions.hasOption('P')) {
                  PermutationFunction<TernaryVector> basePermFunc = 
                      ReflectionUtil.getObjectInstance(
                              argOptions.getStringOption('P'));
                  permFunc =
                      new DefaultDependencyPermutationFunction<TernaryVector>(
                              basePermFunc);
              }
          }
  
          // Set to read only if in evaluation mode.
          if (argOptions.hasOption('e'))
              throw new Error("fix me");
              //indexMap.setReadOnly(true);
  
         return new RandomIndexingDependencyContextGenerator(
                 permFunc, getAcceptor(), indexMap, vectorLength, pathLength);
      }
docs: {@inheritDoc}