boolean declareTypeTransformation(String newName, Node expr) {
    lazyInitInfo();

    if (isTemplateTypeName(newName)) {
      return false;
    }
    if (info.typeTransformations == null){
      // A LinkedHashMap is used to keep the insertion order. The type
      // transformation expressions will be evaluated in this order.
      info.typeTransformations = new LinkedHashMap<>();
    } else if (info.typeTransformations.containsKey(newName)) {
      return false;
    }
    info.typeTransformations.put(newName, expr);
    return true;
  }
boolean declareTypeTransformation ( String newName , Node expr ) { lazyInitInfo ( ) ; if ( isTemplateTypeName ( newName ) ) { return false ; } if ( info . typeTransformations == null ) { info . typeTransformations = new LinkedHashMap < > ( ) ; } else if ( info . typeTransformations . containsKey ( newName ) ) { return false ; } info . typeTransformations . put ( newName , expr ) ; return true ; }
Declares a type transformation expression. These expressions are described
using a {@code @template} annotation of the form
{@code @template T := TTL-Expr =:}

@param newName The name associated to the type transformation.
@param expr The type transformation expression.