code: public final Collection<String> getParameters() {
          ArrayList<String> params = new ArrayList<String>();
          
          if( parameters == null ) {
              return params;
          }
          // we copy to guarantee that the caller does not screw up our internal storage
          params.addAll(Arrays.asList(parameters));
          return params;
      }
docs: Type parameters tell a data type how to constrain values. What these parameters are
  and how they are interpreted are left entirely up to the implementing classes.
  @return the constraining parameters for this data type