title: The compiler seems to be confusing two versions of an overloaded method. Why?
body: <p>In my jsp file there is a line:<br></p>
  
  <pre><code>byte[] imageData = Base64.decodeBase64(request.getParameter("imageBase64"));
  </code></pre>
  
  <p>and eclipse complains:</p>
  
  <blockquote>
    <p>The method decodeBase64(byte[]) in the type Base64 is not applicable for the arguments (String)"</p>
  </blockquote>
  
  <p>It says that the method gets a <code>String</code>, but it expects a <code>byte[]</code>.
  But in the <code>Base64</code> class there are two overloaded versions of <code>decodeBase64</code>; one with argument <code>String</code>,
  and one with argument <code>byte[]</code>.</p>
  
  <p>I fail to see why the compiler seems to think I am calling the <code>byte[]</code>version with an incorrect <code>String</code> argument, where it should have used the <code>String</code> version without any compiler error.</p>