code: private Type parseIntersectionType(EnclosingScope scope) {
  		int start = index;
  		Type t = parseArrayType(scope);
  
  		// Now, attempt to look for union and/or intersection types
  
  // =============================================================================
  // FIXME: this is commented out in connection with RFC#20. The intention is that
  // it should be restored at some point in the future.
  // =============================================================================
  //		if (tryAndMatch(true, Ampersand) != null) {
  //			// This is a union type
  //			ArrayList<Type> types = new ArrayList<>();
  //			types.add(t);
  //			do {
  //				types.add(parseArrayType(scope));
  //			} while (tryAndMatch(true, Ampersand) != null);
  //			//
  //			Type[] bounds = types.toArray(new Type[types.size()]);
  //			t = annotateSourceLocation(new Type.Intersection(bounds),start);
  //		}
  		return t;
  	}
docs: Parse an intersection type, which is of the form:
  
  <pre>
  IntersectionType ::= BaseType ('&' BaseType)*
  </pre>
  
  @return