docs: public static Set extractStringsInbetweenTagsFromText(String input, char startTag, char endTag, boolean sort) {
  		
  		TreeMap<String, Object> storage = new TreeMap<String, Object>();
  		HashSet<String> unsortedStorage = new HashSet<String>();
  
  		StringBuffer word = new StringBuffer();
  		boolean readingWord = false;
  		LOOP:
  		for (int i = 0; i < input.length(); i++) {
  			if (readingWord) {
  				if (input.charAt(i) == endTag) {
  					//check forbidden word list first
  					//or maybe make arrangements in Index
  					//e.g.: disable Index with too many (%) references
  
  
  					String foundWord = word.toString();
  					if (!sort) {
  						if (!storage.containsKey(foundWord)) {
  							unsortedStorage.add(foundWord);
  						}
  					}
  
  
  					storage.put(foundWord, new Object());
  					readingWord = false;
  					continue LOOP;
  				}
  				else {
  					word.append(input.charAt(i));
  				}
  			}
  			else {
  				if (input.charAt(i) == startTag) {
  					word = new StringBuffer();
  					readingWord = true;
  				}
  				else {
  					continue LOOP;
  				}
  			}
  		}
  		if (readingWord) {
  			String foundWord = word.toString()/*.toLowerCase()*/;
  			if (!sort) {
  				if (!storage.containsKey(foundWord)) {
  					unsortedStorage.add(foundWord);
  				}
  			}
  			storage.put(foundWord, new Object());
  		}
  		if (sort) {
  			return storage.keySet();
  		}
  		else {
  			return unsortedStorage;
  		}
  	}