Property (@NotNull final PyClass pyClass, @NotNull final PyElement element) { final Collection<Property> properties = pyClass.getProperties().values(); if (element instanceof PyTargetExpression) { return getPropertyByTargetExpression(properties, (PyTargetExpression)element); } if (element instanceof PyFunction) { return getPropertyByFunction(properties, (PyFunction)element); } throw new IllegalArgumentException("Not function nor target"); }