code: static boolean maintainsPropertyChangeListeners(Class<?> c)
      {
          Objects.requireNonNull(c, "The class may not be null");
          Method addMethod = Methods.getMethodOptional(
              c, "addPropertyChangeListener", 
              PropertyChangeListener.class);
          if (addMethod == null || !isPublicInstanceMethod(addMethod))
          {
              return false;
          }
          Method removeMethod = Methods.getMethodOptional(
              c, "removePropertyChangeListener", 
              PropertyChangeListener.class);
          if (removeMethod == null || !isPublicInstanceMethod(removeMethod))
          {
              return false;
          }
          return true;
      }
docs: Returns whether the given class seems to maintain PropertyChangeListener
  instances. That is, whether the given class has the public instance
  methods
  <code>addPropertyChangeListener(PropertyChangeListener)</code>
  and
  <code>removePropertyChangeListener(PropertyChangeListener)</code>
  
  @param c The class
  @return Whether the given class maintains PropertyChangeListeners
  @throws NullPointerException If the given class is <code>null</code>