question: static public SdfMacro decodeInstruction ( SdfBuffer buff ) { SdfMacro m ; if ( ( m = ChannelStart . match ( buff ) ) != null ) { return m ; } else if ( ( m = SdlVersion . match ( buff ) ) != null ) { return m ; } else if ( ( m = SkemeStart . match ( buff ) ) != null ) { return m ; } else if ( ( m = GenerateTrigger . match ( buff ) ) != null ) { return m ; } else if ( ( m = EndSound . match ( buff ) ) != null ) { return m ; } else if ( ( m = DelaySound . match ( buff ) ) != null ) { return m ; } else if ( ( m = SkipOnTrigger . match ( buff ) ) != null ) { return m ; } else if ( ( m = InitiateSound . match ( buff ) ) != null ) { return m ; } else if ( ( m = MaskCompare . match ( buff ) ) != null ) { return m ; } else if ( ( m = LoadModifier . match ( buff ) ) != null ) { return m ; } else if ( ( m = BranchTo . match ( buff ) ) != null ) { return m ; } else if ( ( m = Play . match ( buff ) ) != null ) { return m ; } else if ( ( m = FourByteMacro . match ( buff ) ) != null ) { return m ; } else if ( ( m = TwoByteMacro . match ( buff ) ) != null ) { return m ; } log . warn ( "dropped through" ) ; return null ; }
target:  Return the next instruction macro in a buffer. <P> Note this uses the index contained in the SdfBuffer implementation, and has the side-effect of bumping that forward.