code: public static Interval invert(Interval i) {
  		byte iLabel = (byte) (OCTAVE - (i.getLabel()%OCTAVE));
  		byte iQuality = (byte) -i.getQuality();
  		byte iOrder = (byte) -i.getDirection();
  		return new Interval(iLabel, iQuality, iOrder);
  	}
docs: An interval may be inverted, by raising the lower pitch an octave, or
  lowering the upper pitch an octave (though it is less usual to speak of
  inverting unisons or octaves).
  
  For example, the fourth between a lower C and a higher F may be inverted
  to make a fifth, with a lower F and a higher C.
  
  The inversion of a major interval is a minor interval (and vice versa);
  the inversion of a perfect interval is also perfect; the inversion of an
  augmented interval is a diminished interval (and vice versa); and the
  inversion of a double augmented interval is a double diminished interval
  (and vice versa).
  
  Since compound intervals are larger than an octave, to be inverted one
  note must be moved two octaves or both notes must be moved an octave,
  with the result being that, "the inversion of any compound interval is
  always the same as [the inversion] of the simple interval from which it
  is compounded.
  
  @return a new Interval object.