code: public String addPrefix(Map<String, String> keys, String input) {
  		keys.remove(NAME);
  		keys.remove(PROFILES);
  		StringBuilder builder = new StringBuilder();
  		for (String key : keys.keySet()) {
  			builder.append("{").append(key).append(":").append(keys.get(key)).append("}");
  		}
  		builder.append(input);
  		return builder.toString();
  	}
docs: Add a prefix to the input text (usually a cipher) consisting of the
  <code>{name:value}</code> pairs. The "name" and "profiles" keys are special in that
  they are stripped since that information is always available when deriving the keys
  in {@link #getEncryptorKeys(String, String, String)}.
  @param keys name, value pairs
  @param input input to append
  @return prefixed input