code: private static String readKryoRegistration(String filePath) {
  		FileInputStream fis = null;
  		Properties props = new Properties();
  		StringBuilder result = new StringBuilder();
  		try {
  			fis = new FileInputStream(filePath);
  			props.load(fis);
  
  			boolean first = true;
  			String value = null;
  			for(String k:props.stringPropertyNames()) {
  				if (!first)
  					result.append(COMMA);
  				else
  					first = false;
  				
  				// Need to avoid the dollar sign as samza pass all the properties in
  				// the config to containers via commandline parameters/enviroment variables
  				// We might escape the dollar sign, but it's more complicated than
  				// replacing it with something else
  				result.append(k.trim().replace(DOLLAR_SIGN, QUESTION_MARK));
  				value = props.getProperty(k);
  				if (value != null && value.trim().length() > 0) {
  					result.append(COLON);
  					result.append(value.trim().replace(DOLLAR_SIGN, QUESTION_MARK));
  				}
  			}
  		} catch (FileNotFoundException e) {
  			// TODO Auto-generated catch block
  			e.printStackTrace();
  		} catch (IOException e) {
  			// TODO Auto-generated catch block
  			e.printStackTrace();
  		} finally {
  			if (fis != null)
  				try {
  					fis.close();
  				} catch (IOException e) {
  					// TODO Auto-generated catch block
  					e.printStackTrace();
  				}
  		}
  
  		return result.toString();
  	}
docs: /*
  Helper method to parse Kryo registration file