code: protected org.cp.elements.util.sort.annotation.Sortable getSortableMetaData(final Object sortableAnnotatedObject) {
      Assert.notNull(sortableAnnotatedObject, "The @Sortable annotated object cannot be null!");
  
      org.cp.elements.util.sort.annotation.Sortable sortableMetaData = sortableAnnotatedObject.getClass().getAnnotation(
        org.cp.elements.util.sort.annotation.Sortable.class);
  
      Assert.notNull(sortableMetaData, new SortException(String.format(
        "To sort an object of type (%1$s), the class must be annotated with the (%2$s) annotation!",
          sortableAnnotatedObject.getClass().getName(), org.cp.elements.util.sort.annotation.Sortable.class.getName())));
  
      return sortableMetaData;
    }
docs: Gets the Sortable annotated meta-data from an @Sortable object, which is used to determine how to sort
  the object's contents.
  
  @param sortableAnnotatedObject an Object annotated with the @Sortable annotation meta-data.
  @return the @Sortable annotation meta-data on an @Sortable annotated object.
  @throws NullPointerException if the @Sortable annotated object reference is null!
  @throws SearchException if the object is not annotated with the @Sortable annotation meta-data.
  @see java.lang.Class#getAnnotation(Class)
  @see org.cp.elements.util.sort.annotation.Sortable