private <T> List<T> getSelectedElements(Class<T> klass) {
   final Object[] elements = getSelectedNodeElements();
   ArrayList<T> result = new ArrayList<T>();
   if (elements == null) {
     return result;
   }
   for (Object element : elements) {
     if (element == null) continue;
     if (klass.isAssignableFrom(element.getClass())) {
       result.add((T) element);
     }
   }
   return result;
 }