code: public static void unescapeProperties(final Reader reader, final Writer writer)
              throws IOException {
  
          if (writer == null) {
              throw new IllegalArgumentException("Argument 'writer' cannot be null");
          }
  
          PropertiesUnescapeUtil.unescape(reader, writer);
  
      }
docs: <p>
  Perform a Java Properties (key or value) <strong>unescape</strong> operation on a <tt>Reader</tt> input,
  writing results to a <tt>Writer</tt>.
  </p>
  <p>
  No additional configuration arguments are required. Unescape operations
  will always perform <em>complete</em> Java Properties unescape of SECs and u-based escapes.
  </p>
  <p>
  This method is <strong>thread-safe</strong>.
  </p>
  
  @param reader the <tt>Reader</tt> reading the text to be unescaped.
  @param writer the <tt>java.io.Writer</tt> to which the unescaped result will be written. Nothing will
  be written at all to this writer if input is <tt>null</tt>.
  @throws IOException if an input/output exception occurs
  
  @since 1.1.2