whole_func_string: function RangeNodeIterator(range, nodeTypes, filter) {
          this.nodes = getNodesInRange(range, nodeTypes, filter);
          this._next = this.nodes[0];
          this._position = 0;
      }
func_code_string: function RangeNodeIterator(range, nodeTypes, filter) {
          this.nodes = getNodesInRange(range, nodeTypes, filter);
          this._next = this.nodes[0];
          this._position = 0;
      }
func_documentation_string: /*---------------------------------------------------------------------------------------------------------------- 
  Currently iterates through all nodes in the range on creation until I think of a decent way to do it
  TODO: Look into making this a proper iterator, not requiring preloading everything first
  @constructor