protected String getFeatures(boolean includeDefaults, String nextLineToken){
		StringBuilder featureString = new StringBuilder();
		featureString.append("*****Features");
		if(!includeDefaults)
			featureString.append("(Non-default)");
		
		featureString.append("*****");
		featureString.append(nextLineToken);
		
		for(Feature feature: featureList.getFeatureList()){
			if(includeDefaults || !FeatureManager.isFeatureDefault(name, feature.getName(), feature.getValue())){
				featureString.append(feature.getName()+" = "+feature.getValue());
				featureString.append(nextLineToken);
			}
		}
		featureString.append(nextLineToken);
		
		
		Lexicon mappedLexicon = getFirstMappedLexicon();
		if(mappedLexicon != null){
			featureString.append("*****User-defined Lexical Features");
			if(!includeDefaults)
				featureString.append("(Non-default)");
			featureString.append("*****");
			featureString.append(nextLineToken);
			
			for(Feature feature: mappedLexicon.getFeatureList().getFeatureList()){
				if(includeDefaults || !mappedLexicon.getParentLexiconList().isFeatureDefault(feature) ){
					featureString.append(feature.getName()+" = "+feature.getValue());
					featureString.append(nextLineToken);
				}
			}
		}
		return featureString.toString();
		
	}