code: @Override
      public PropertyDescriptor[] getPropertyDescriptors() {
          try {
              ArrayList<PropertyDescriptor> descriptors = new ArrayList<PropertyDescriptor>();
              PropertyDescriptor descriptor;
  
              try {
                  descriptor = new PropertyDescriptor("animated",
                          com.l2fprod.common.swing.JCollapsiblePane.class);
              } catch (IntrospectionException e) {
                  descriptor = new PropertyDescriptor("animated",
                          com.l2fprod.common.swing.JCollapsiblePane.class, "getAnimated", null);
              }
  
              descriptor.setPreferred(true);
  
              descriptor.setBound(true);
  
              descriptors.add(descriptor);
              try {
                  descriptor = new PropertyDescriptor("collapsed",
                          com.l2fprod.common.swing.JCollapsiblePane.class);
              } catch (IntrospectionException e) {
                  descriptor = new PropertyDescriptor("collapsed",
                          com.l2fprod.common.swing.JCollapsiblePane.class, "getCollapsed", null);
              }
  
              descriptor.setPreferred(true);
  
              descriptor.setBound(true);
  
              descriptors.add(descriptor);
  
              return (PropertyDescriptor[]) descriptors
                      .toArray(new PropertyDescriptor[descriptors.size()]);
          } catch (Exception e) {
              // do not ignore, bomb politely so use has chance to discover what went
              // wrong...
              // I know that this is suboptimal solution, but swallowing silently is
              // even worse... Propose better solution!
              Logger.getLogger(JCollapsiblePane.class.getName()).log(Level.SEVERE, null, e);
          }
          return null;
      }
docs: Gets the Property Descriptors.
  
  @return The propertyDescriptors value