public < TYPE_1 > TYPE_2 < TYPE_1 > METHOD_1 ( TYPE_3 < TYPE_1 > key ) throws TYPE_4 { java.lang.String name = key . path ( ) ; METHOD_2 ( name ) ; TYPE_2 < TYPE_1 > result = VAR_1 . get ( name ) ; if ( result == null ) { result = new TYPE_2 ( METHOD_3 ( key ) , key ) ; result . METHOD_4 ( this ) ; VAR_1 . put ( name , result ) ; VAR_2 . add ( result ) ; } return result ; }

public < TYPE_1 > TYPE_2 < TYPE_1 > METHOD_1 ( TYPE_3 < TYPE_1 > key ) throws TYPE_4 { java.lang.String name = key . path ( ) ; METHOD_2 ( name ) ; TYPE_2 < TYPE_1 > result = VAR_1 . get ( name ) ; if ( result == null ) { result = super . METHOD_1 ( key ) ; result . METHOD_4 ( this ) ; VAR_1 . put ( name , result ) ; VAR_2 . add ( result ) ; } return result ; }
