@Override
   public boolean equals(final Object obj) {
      if (this == obj)
         return true;
      if (obj == null)
         return false;
      if (getClass() != obj.getClass())
         return false;
      final ClassKey other = (ClassKey) obj;
      if (cl == null) {
         if (other.cl != null)
            return false;
      } else if (!cl.equals(other.cl))
         return false;
      if (className == null) {
         if (other.className != null)
            return false;
      } else if (!className.equals(other.className))
         return false;
      return true;
   }