code: private void assembleDissectorPhases() throws InvalidDissectorException {
          for (final Dissector dissector : allDissectors) {
              final String inputType = dissector.getInputType();
              if (inputType == null) {
                  throw new InvalidDissectorException("Dissector returns null on getInputType(): ["+ dissector.getClass().getCanonicalName()+"]");
              }
  
              final List<String> outputs = dissector.getPossibleOutput();
              if (outputs == null || outputs.isEmpty()) {
                  throw new InvalidDissectorException("Dissector cannot create any outputs: ["+ dissector.getClass().getCanonicalName()+"]");
              }
  
              // Create all dissector phases
              for (final String output: outputs) {
                  final int colonPos = output.indexOf(':');
                  final String outputType = output.substring(0, colonPos);
                  final String name = output.substring(colonPos + 1);
                  availableDissectors.add(new DissectorPhase(inputType, outputType, name, dissector));
              }
          }
      }
docs: --------------------------------------------