}
else {
String meat = key.substring( 1, key.length() - 1 ); // trim the [ ]
if ( AmpReference.TOKEN.equals( meat.charAt( 0 ) ) ) {
r = new AmpReference( meat );
apt = ArrayPathType.REFERENCE;
canonicalForm = "[" + r.getCanonicalForm() + "]";
}
else if ( HashReference.TOKEN.equals( meat.charAt( 0 ) ) ) {