code: @Override
      public List<String> getVariableNames(final boolean includeSystemGenerated)
      {
          final List<String> names = new ArrayList<>();
  
          for (final String name : variables.keySet())
          {
              if (!includeSystemGenerated)
              {
                  final Variable var = getVariables().get(name);
                  if (var.systemGenerated)
                      continue;
              }
              names.add(name);
          }
          return names;
      }
docs: {@inheritDoc}