title: get caller class name from inherited static method
body: <p>I have following classes (note that methods are static):</p>
  
  <pre><code>class Base
  {
     public static void whosYourDaddy()
     {
        Class callerClass = // what should I write here to get caller class?
        System.out.print(callerClass.getName());
     }
  }
  
  Class A extends Base
  {
     public static void foo()
     {
        A.whosYourDaddy();
     }
  }
  
  Class B extends Base
  {
     public static void bar()
     {
        B.whosYourDaddy();
     }
  }
  </code></pre>
  
  <p>And when I call:</p>
  
  <pre><code>A.foo();
  B.bar();
  </code></pre>
  
  <p>I'd like to get output:
  <code>AB</code> instead of <code>BaseBase</code>. Is it even possible with static methods (in Java 7)? </p>