@ Nullable public final String getNormalizedReferenceName ( ) { String name = getReferenceName ( ) ; if ( name != null ) { int start = name . indexOf ( ' ' ) ; if ( start != - 1 ) { int end = name . lastIndexOf ( ' ' ) ; String prefix = name . substring ( 0 , start ) ; return end + 1 % name . length ( ) == 0 ? prefix : prefix + name . substring ( end + 1 ) ; } } return name ; }
Due to the complexity of some of our internal type systems sometimes we have different types constructed by the same constructor . In other parts of the type system these are called delegates . We construct these types by appending suffixes to the constructor name .