private static <T> String name(T item, String name) {
    if (name != null && !name.isEmpty()) {
      return name;
    } else if (item instanceof HasMetadata) {
      HasMetadata h = (HasMetadata) item;
      return h.getMetadata() != null ? h.getMetadata().getName() : null;
    }
    return null;
  }
private static < T > String name ( T item , String name ) { if ( name != null && ! name . isEmpty ( ) ) { return name ; } else if ( item instanceof HasMetadata ) { HasMetadata h = ( HasMetadata ) item ; return h . getMetadata ( ) != null ? h . getMetadata ( ) . getName ( ) : null ; } return null ; }
Returns the name and falls back to the item name.
@param item  The item.
@param name  The name to check.
@param <T>
@return