title: Mockito asks to add @PrepareForTest for the class even after adding @PrepareForTest
body: <p>I have the following simple code. I have a class (TestClass) and I want to test "someMethod". There is an external static method which is called by my "someMethod". 
  I want to Powermock that static method to return me some dummy object.
  I have the @PrepareForTest(ExternalClass.class) in the begining, but when I execute it gives the error:</p>
  
  <p><em>The class ExternalClass not prepared for test.
  To prepare this class, add class to the <code>'@PrepareForTest'</code> annotation.
  In case if you don't use this annotation, add the annotation on class or  method level.</em></p>
  
  <p>Please help me to point out what is wrong with the way I have used <code>@PrepareForTest</code></p>
  
  <pre><code>@RunWith(PowerMockRunner.class)
  @PrepareForTest(ExternalClass.class)
  public class xyzTest {  
      @Mock
      private RestTemplate restTemplate;
  
      @Mock
      private TestClass testClass;
  
      @BeforeClass
      private void setUpBeforeClass() {
          MockitoAnnotations.initMocks(this);
      }
  
      @Test
      public void testSuccessCase() {
          Boolean mockResponse = true;
          ResponseEntity&lt;Boolean&gt; response = new ResponseEntity&lt;Boolean&gt;(mockResponse, HttpStatus.OK);
          SomeClass someClass = new SomeClass("test", "1.0.0", "someUrl", "someMetaData");
  
          PowerMockito.mockStatic(ExternalClass.class);
  
          Mockito.when(restTemplate.postForEntity(any(String.class), any(String.class), eq(Boolean.class))).thenReturn(response);
          Mockito.when(ExternalClass.getSomeClass(any(String.class))).thenReturn(someClass);
  
          Boolean result = testClass.someMethod("test");
  
          Assert.isTrue(result);
          Mockito.verify(restTemplate, times(1)).postForObject(any(String.class), any(String.class), any());
      }
  }
  </code></pre>