@Override
  default boolean isSelf() {
    if (isPositionalContainer() || isKeywordContainer()) {
      return false;
    }
    PyAstFunction function = getStubOrPsiParentOfType(PyAstFunction.class);
    if (function == null) {
      return false;
    }
    final PyAstClass cls = function.getContainingClass();
    final PyAstParameter[] parameters = function.getParameterList().getParameters();
    if (cls != null && parameters.length > 0 && parameters[0] == this) {
      if (PyUtilCore.isNewMethod(function)) {
        return true;
      }
      final PyAstFunction.Modifier modifier = function.getModifier();
      if (modifier != PyAstFunction.Modifier.STATICMETHOD) {
        return true;
      }
    }
    return false;
  }
@Override
  default boolean isSelf()