public synchronized boolean removeTransformer(ClassFileTransformer transformer) {
   if (transformer == null) {
     throw new NullPointerException("null passed as 'transformer' in removeTransformer");
   }
   TransformerManager mgr = findTransformerManager(transformer);
   if (mgr != null) {
     mgr.removeTransformer(transformer);
     if (mgr.isRetransformable() && mgr.getTransformerCount() == 0) {
       setHasRetransformableTransformers(mNativeAgent, false);
     }
     return true;
   }
   return false;
 }
 public synchronized void addTransformer(
     ClassFileTransformer transformer, boolean canRetransform) {
   if (transformer == null) {
     throw new NullPointerException("null passed as 'transformer' in addTransformer");
   }
   if (canRetransform) {
     if (!isRetransformClassesSupported()) {
       throw new UnsupportedOperationException(
           "adding retransformable transformers is not supported in this environment");
     }
     if (mRetransfomableTransformerManager == null) {
       mRetransfomableTransformerManager = new TransformerManager(true);
     }
     mRetransfomableTransformerManager.addTransformer(transformer);
     if (mRetransfomableTransformerManager.getTransformerCount() == 1) {
       setHasRetransformableTransformers(mNativeAgent, true);
     }
   } else {
     mTransformerManager.addTransformer(transformer);
   }
 }